We are reaching the end of a year which saw a lot of evolution in Morfik. The intermediate releases of the 2.1 and 2.2 series brought out a number of new features and helped other features more fully mature. This month, with the start of the 2.3 branch we see Morfik turning to what is a purely bug fixing stance, which I believe is a good and necessary step to consolidating the feature set which is already present in 2.x.
While I have no idea what the long term planning at Morfik is, I do feel that we should have a couple more bug fix releases before moving on to another cycle of new feature release. Starting from the foundation that is Morfik 2.x, Morfik should be in for a great 2010, if they can avoid the trap of going to far, too soon. Morfik 2.x is a giant leap forward from 1.x in terms of both usability and productivity and it is going to be tough coming up with a similar leap for 3.0, so I hope they don't even try to match that.
All things considered, it has been a good year for working with Morfik. I have engaged in a couple of projects both personal and commercial which are totally done in Morfik and I've been very happy with the results I've gotten, but I hope to get even better results with whatever comes out of Morfik in 2010.
While 2009 saw fifty four (54) posts on MorfikWatch, I hope that this number will get much higher in 2010. I've started working on a couple of projects which I'm hoping will work out well and allow me to provide more value to the readers of MorfikWatch. I'll have to see how they evolve to see which will see the light of day.
In the mean time, I'd like to thank all of you that keep returning to MorfikWatch and wish you a great new year. Let's hope that 2010 will be great new year for Morfik and for all of us...
Saturday, December 26, 2009
Wednesday, December 23, 2009
New update available for Morfik 2.3.0.3
Author:
Mauricio Longo
The latest release of Morfik came out with a couple of small, but show stopping, bugs. These issues which affected how popup Forms were displayed, and how pure browser and Linux applications were compiled.
The overall impact was a total show stopper for anyone developing a static website or an application for deployment to a Linux server and so Morfik rushed to correct these problems and release an update as soon as it was too possible. This update comes in the shape of a patch that has to be applied over a previous installation of Morfik FX, BX or CX 2.3.0.3.
The patch is fairly small at around 7 MB in size and pretty much mandatory for everyone as it also fixes a couple of issues that were introduced in 2.3.0.3 regarding the usage of continuous Forms in a popup and an old standing issue with the repositioning of the navigator when forms are resized horizontally. This patch will update your Morfik to build 2.3.0.6.
The overall impact was a total show stopper for anyone developing a static website or an application for deployment to a Linux server and so Morfik rushed to correct these problems and release an update as soon as it was too possible. This update comes in the shape of a patch that has to be applied over a previous installation of Morfik FX, BX or CX 2.3.0.3.
The patch is fairly small at around 7 MB in size and pretty much mandatory for everyone as it also fixes a couple of issues that were introduced in 2.3.0.3 regarding the usage of continuous Forms in a popup and an old standing issue with the repositioning of the navigator when forms are resized horizontally. This patch will update your Morfik to build 2.3.0.6.
Wednesday, December 16, 2009
Christmas present for Morfik users: A new build (2.3.0.3) is available
Author:
Mauricio Longo
Morfik has released build 2.3.0.3 just in time for it to make good Christmas gift. :-) I have certainly been eagerly expecting this new build, which is bug fix release with a few small incremental improvements.
Among these fixes is one that is particularly dear to my heart which corrects a problem with the refresh method of lookup combo boxes. This particular issue had me doing an annoying workaround to get the desired "chained" combos behavio so that a list of cities is updated depending on which state the user selected.
Also among the enhancements and bug fixes are improvements in handling incorrectly formatted XML as to minimize the possibility of exceptions when parsing XML returned from another application. It is now also possible to consume Morfik generated XML in NuSOAP (PHP) server implementations.
Its great to see that Morfik is testing compatibility with other SOAP and Web Service implementations. Though implementing a standard should be all that is necessary to ensure you can interact with all players in the market, in truth it isn't as there are always subtle differences in implementations that might cause problems. Interoperability with other SOAP implementations is very important and it is one area where I hope to see more testing and development from Morfik. While my own applications are generally entirely implemented in Morfik, there are countless situations when introducing a new application into an existing corporate environment where the knowledge that you can interact with other systems is priceless.
Among these fixes is one that is particularly dear to my heart which corrects a problem with the refresh method of lookup combo boxes. This particular issue had me doing an annoying workaround to get the desired "chained" combos behavio so that a list of cities is updated depending on which state the user selected.Also among the enhancements and bug fixes are improvements in handling incorrectly formatted XML as to minimize the possibility of exceptions when parsing XML returned from another application. It is now also possible to consume Morfik generated XML in NuSOAP (PHP) server implementations.
Its great to see that Morfik is testing compatibility with other SOAP and Web Service implementations. Though implementing a standard should be all that is necessary to ensure you can interact with all players in the market, in truth it isn't as there are always subtle differences in implementations that might cause problems. Interoperability with other SOAP implementations is very important and it is one area where I hope to see more testing and development from Morfik. While my own applications are generally entirely implemented in Morfik, there are countless situations when introducing a new application into an existing corporate environment where the knowledge that you can interact with other systems is priceless.
Labels:
M2,
M23,
Web Services
Thursday, November 26, 2009
Process Orchestration with Morfik
Author:
Mauricio Longo
The ease with which you can create an appealing Web based application interface with Morfik makes it an ideal tool for rapid prototyping. It is possible to go from scratch to a full application interface in the space of a few hours.
When you combine this with the ability to easily import Web Services you have the makings of what could become a powerful tool for process orchestration. Morfik makes it very easy for you to write your own Web Services and tends to make the usage of third party Web Services. These capabilities can combine to make it a prime environment for putting creating applications that provide the glue for creating useful applications out of Service Components.
I am quite confident that the same team that made Morfik a great visual design environment for creating sophisticated interfaces could surprise us with the ability to visually design the interaction of Web Services with one another and with the application's browser side components. This would move Morfik one step closer to enabling even non-developers to create useful Web applications.
When you combine this with the ability to easily import Web Services you have the makings of what could become a powerful tool for process orchestration. Morfik makes it very easy for you to write your own Web Services and tends to make the usage of third party Web Services. These capabilities can combine to make it a prime environment for putting creating applications that provide the glue for creating useful applications out of Service Components.
I am quite confident that the same team that made Morfik a great visual design environment for creating sophisticated interfaces could surprise us with the ability to visually design the interaction of Web Services with one another and with the application's browser side components. This would move Morfik one step closer to enabling even non-developers to create useful Web applications.
Labels:
Architecture,
SOA,
Web Services
Wednesday, November 18, 2009
Making the case for anonymous methods
Author:
Mauricio Longo
I don't know about you, but I make a lot of use of WebMethods when developing a less than trivial Morfik application. WebMethods are extremely useful and actually quite easy to use, once you've got the hang of it. Depending on how much and what kind of information you want to exchange between your browser and server code, it can as simple as just invoking the RunWebMethod procedure.
One thing always leaves me with the feeling that I'm missing something, though. When you are using a Web Method from an imported Web Service, or even one of your own that requires more and more complex parameters, you end up having to use a callback to handle the method's return. I have no problem with the concept there, but the implementation could be easier to write. Wouldn't it be nice if you could just type your code for handling the method's return in line with the method invocation?
One thing always leaves me with the feeling that I'm missing something, though. When you are using a Web Method from an imported Web Service, or even one of your own that requires more and more complex parameters, you end up having to use a callback to handle the method's return. I have no problem with the concept there, but the implementation could be easier to write. Wouldn't it be nice if you could just type your code for handling the method's return in line with the method invocation?
Labels:
BX,
CX,
Delphi,
FX,
Programming,
Web Services
Sunday, October 25, 2009
Setting somethings straight...
Author:
Mauricio Longo
It was recently called to my attention that some people might have an incorrect perception of my relationship with Morfik, so I thought it would be best to make sure everyone got the correct information.
While I did work with Morfik as an advisor and then for Morfik, under contract, for a period close to two years, I no longer have any sort of affiliation with that company. While at Morfik I worked on some of the business planning, product features design, IDE design and the documentation. Today I am an active Morfik user. I use Morfik daily in the construction of two websites and a complex corporate dashboard, multi-application, project.
The fact that called my attention to this possible confusion was that in posting a comment to a blog post I logged into WordPress with an account that was created while I was working for Morfik and which still had the @morfik.com email address listed in its profile. This lead to the original poster to have thought that I still had some affiliation with Morfik. I have corrected that profile, but it occurred to me that other people might, also, have gotten such an impression.
I am quite proud of having had the privilege to be a part of a team with such talented professionals as those in the Morfik team. While at Morfik, I got to know a lot of good people and made great friends. This however, has nothing to do with with what I write about Morfik. If I did not believe that Morfik is a great product or if I didn't use it my self, I wouldn't write about it.
Unfortunately, due to communications difficulties, created by geography, Morfik being in Australia and me being in Brazil, I had no choice but to stop working for the company. Since then, because I like the product and because I believe in what that team can accomplish, I've set my self to organizing communities of users and writing this blog. I've recently, also, become more active in posting to the Morfik forums as I have been spending a good portion of my time working in actual development.
I hope this information makes my relationship with Morfik clear to everyone.
The fact that called my attention to this possible confusion was that in posting a comment to a blog post I logged into WordPress with an account that was created while I was working for Morfik and which still had the @morfik.com email address listed in its profile. This lead to the original poster to have thought that I still had some affiliation with Morfik. I have corrected that profile, but it occurred to me that other people might, also, have gotten such an impression.
I am quite proud of having had the privilege to be a part of a team with such talented professionals as those in the Morfik team. While at Morfik, I got to know a lot of good people and made great friends. This however, has nothing to do with with what I write about Morfik. If I did not believe that Morfik is a great product or if I didn't use it my self, I wouldn't write about it.
Unfortunately, due to communications difficulties, created by geography, Morfik being in Australia and me being in Brazil, I had no choice but to stop working for the company. Since then, because I like the product and because I believe in what that team can accomplish, I've set my self to organizing communities of users and writing this blog. I've recently, also, become more active in posting to the Morfik forums as I have been spending a good portion of my time working in actual development.
I hope this information makes my relationship with Morfik clear to everyone.
Labels:
MorfikWatch
Monday, October 19, 2009
Interface Building with Morfik: A Treeview like interface sample
Author:
Mauricio Longo
In another recent article about interface building I mentioned that it is not difficult to create a treeview-like interface with Morfik, primarily through visual design. As an example I used a few screenshots from an application that I have been working on but for which I cannot make the source code available.
In order to help anyone that wants to build something similar I created a small sample project that just implements this single feature. The following picture shows what the sample looks like.
In order to help anyone that wants to build something similar I created a small sample project that just implements this single feature. The following picture shows what the sample looks like.
This sample is available for download in all three languages supported in Morfik AppsBuilder 2.2, through the following links:
This is the first time I have used Morfik FX 2.2 to create projects in the other two languages. If you have any problem using either the Basic or C# version of the project with Morfik BX or CX, please let me know so that I can look into it.
UPDATED: There really is no need for the Tree nodes to have the border around them. How they look is entirely up to your creativity. I kind of did it this way, in automatic mode, because in my applications I need to have this area well defined as I change the background color for each node based on certain business rules.
Thursday, October 15, 2009
Interface building with Morfik: The database is your friend...
Author:
Mauricio Longo
Morfik AppsBuilder is pretty much built around the concept of a data-driven application. If you can get a specific information set out of the database, you should be able to present it with class in a Morfik application.
Though I've written a thing or two about this topic in the past, I can't stress enough that sometimes it is just quicker and better to do some coding in the database layer of your application. Sometimes a short stored procedure, which can be written in five minutes will not only yield the desired results but will do so a lot faster than a highly complex query which will take you over an hour to build in the visual designer.
Stored Procedures also offer you the opportunity to return special values for rows which would not otherwise be returned by your base query.
Several times, I've been asked about the availability of a menu control in Morfik. I mean... How is it ever possible to create a menu without a menu control??? Well... There are several different ways to do it, some faster, others more flexible. Some are even immediate. The more observant of you might have already imagined that with a little bit of reformatting that hierarchical representation from my previous post can be made into a vertical menu of the type you quite frequently see used in website navigation.
In order to make a horizontal menu with drop down submenus you can use the new Dropdown control. This is, in fact, used in Morfik's What's New page with great looking results. Do you feel you need to create a menu with more sub levels than that? Well, it is possible and easy to do so, using the same Dropdown control, however, I would advise you to revise your design ideas as they might be headed more towards a DOS application than a Web one.
It is not that I don't think that Morfik AppsBuilder could have a menu control or a specialized menu editor. I do however believe that it is much better go ahead and build a good looking menu in a couple of minutes with the available resources and move on to other parts of my application than to dwell on why is it that Morfik R&D hasn't spent a couple of months building a such a menu designer yet.
Morfik's database oriented design has helped me create several reasonably complex applications with very little coding. It does however require that you give some thought as to how you are going to divide up your pages into forms as each form can have its own data source. It is, in fact, quite common for you to end up building a single page from a large number of small forms, each responsible for retrieving some bit of information and displaying it in the most appropriate manner.
For example, the page you see displayed in the Morfik Debug Browser in the following picture is the end result of combining together seven different forms. I've placed red lines, roughly indicating where each of the forms comes in.
This is a screenshot of a test version of an application I've worked on recently and using totally bogus test data which tends to leave a lot of blank space in the page, but it should allow you to have some idea of how the structure for the page was created.
Whenever you think you've hit a show stopper in creating your Morfik application, take a step back and reconsider the problem. Most of the time it turns out that there is a simple solution for your problem if you just approach it from a different angle.
Though I've written a thing or two about this topic in the past, I can't stress enough that sometimes it is just quicker and better to do some coding in the database layer of your application. Sometimes a short stored procedure, which can be written in five minutes will not only yield the desired results but will do so a lot faster than a highly complex query which will take you over an hour to build in the visual designer.
Stored Procedures also offer you the opportunity to return special values for rows which would not otherwise be returned by your base query.
Several times, I've been asked about the availability of a menu control in Morfik. I mean... How is it ever possible to create a menu without a menu control??? Well... There are several different ways to do it, some faster, others more flexible. Some are even immediate. The more observant of you might have already imagined that with a little bit of reformatting that hierarchical representation from my previous post can be made into a vertical menu of the type you quite frequently see used in website navigation.
In order to make a horizontal menu with drop down submenus you can use the new Dropdown control. This is, in fact, used in Morfik's What's New page with great looking results. Do you feel you need to create a menu with more sub levels than that? Well, it is possible and easy to do so, using the same Dropdown control, however, I would advise you to revise your design ideas as they might be headed more towards a DOS application than a Web one.
It is not that I don't think that Morfik AppsBuilder could have a menu control or a specialized menu editor. I do however believe that it is much better go ahead and build a good looking menu in a couple of minutes with the available resources and move on to other parts of my application than to dwell on why is it that Morfik R&D hasn't spent a couple of months building a such a menu designer yet.
Morfik's database oriented design has helped me create several reasonably complex applications with very little coding. It does however require that you give some thought as to how you are going to divide up your pages into forms as each form can have its own data source. It is, in fact, quite common for you to end up building a single page from a large number of small forms, each responsible for retrieving some bit of information and displaying it in the most appropriate manner.
For example, the page you see displayed in the Morfik Debug Browser in the following picture is the end result of combining together seven different forms. I've placed red lines, roughly indicating where each of the forms comes in.
This is a screenshot of a test version of an application I've worked on recently and using totally bogus test data which tends to leave a lot of blank space in the page, but it should allow you to have some idea of how the structure for the page was created.
Whenever you think you've hit a show stopper in creating your Morfik application, take a step back and reconsider the problem. Most of the time it turns out that there is a simple solution for your problem if you just approach it from a different angle.
Labels:
Architecture,
Database,
M22,
Visual Design
Interface building with Morfik: A hierarchical data representation
Author:
Mauricio Longo
In the wake of my previous post I decided to show my dear readers another interesting thing you can do with Morfik, in creating an interface.
It is quite common for applications to have the need to present users with information that is organized in a hierarchical structure. In creating a desktop application we would use a Treeview control to display this kind of data. I've actually seen quite a few people asking for Morfik to incorporate just such a control.
Well, it isn't really strictly necessary to have a specialized control to get this sort of representation. The following picture shows a treeview-like data representation created with simple forms and very little glue code.
It is quite common for applications to have the need to present users with information that is organized in a hierarchical structure. In creating a desktop application we would use a Treeview control to display this kind of data. I've actually seen quite a few people asking for Morfik to incorporate just such a control.
Well, it isn't really strictly necessary to have a specialized control to get this sort of representation. The following picture shows a treeview-like data representation created with simple forms and very little glue code.
Observe that in this picture the nodes for the tree representation vary in height, allowing for non-cryptic presentation of the information as it does not really need to be abbreviated. You can, of course, also create more sophisticated hierarchical representations of your data. The following picture shows a similar representation but with the nodes being color tagged.
This representation can be achieved though the usage of form that opens a new instance of itself in a subform that it contains. It is essentially a simple recursive algorithm. In the case of the second picture all that was really necessary was to design the form and write about 25 lines of code. Sure using a treeview control might require less lines of code, but I sincerely doubt that you could design a Treeview control have variable color and height nodes, without manually coding the necessary changes.
As soon as I can make the time I'll write a two or three form application to provide a model or template that you can use to quickly make your own hierarchical views.
Labels:
Visual Design
Interface building with Morfik: Multi column continuous forms
Author:
Mauricio Longo
A blog post by a disgruntled Morfik user, complaining about not being able to create anything but the most basic websites without resorting to Web Methods and manual control creation led me to the conclusion that many of Morfik AppsBuilder's most interesting features go by unnoticed by many.
One of the features that I've seem people make very little use of is the multi-column continuous form. This kind of form allows us to create interfaces that resemble Morfik's own "Project View" In an application I've recently been involved in creating, we use this feature for maximum effect. In one point, for example, we allow the user to choose the icon that will represent a certain entity within the application's database. The icon selection form that is shown in the following picture was quite easy to create. The whole feature is actually composed of two forms.
Using nothing more than the MouseOver style configuration we can apply a nice rollover effect to let us know which icon we are about to select.
The same technique can be used to create other kinds of views for presenting information in your application. The following picture, for example, shows how data from several months is presented and color tagged according to specific business rules.
In order to try out these possibilities just experiment a bit with the ColumnCount proprety of a continuous form. I recommend that you try it and see what you can come up with.
One of the features that I've seem people make very little use of is the multi-column continuous form. This kind of form allows us to create interfaces that resemble Morfik's own "Project View" In an application I've recently been involved in creating, we use this feature for maximum effect. In one point, for example, we allow the user to choose the icon that will represent a certain entity within the application's database. The icon selection form that is shown in the following picture was quite easy to create. The whole feature is actually composed of two forms.
Using nothing more than the MouseOver style configuration we can apply a nice rollover effect to let us know which icon we are about to select.
The same technique can be used to create other kinds of views for presenting information in your application. The following picture, for example, shows how data from several months is presented and color tagged according to specific business rules.
In order to try out these possibilities just experiment a bit with the ColumnCount proprety of a continuous form. I recommend that you try it and see what you can come up with.
Labels:
Visual Design
Wednesday, October 14, 2009
Morfik 2.2.1.4 update released
Author:
Mauricio Longo
Morfik released a new build (2.2.1.4) a few hours ago. As with last couple of releases, this also focus on bug fixing and adding a few more features to the Form designer.
The continuous bug fixing over the last couple of releases has gone a long way towards making 2.2.x a more stable platform for application development. At the same time, a large number of new design oriented features has moved Morfik solidly into a camp previously dominated by designer tools, while remaining a developer's tool. Morfik AppsBuilder is certainly a much more designer-friendly application now, then it was a couple of months ago.
The new status bar in the designer offers some really useful information. Download the new build and try it out.
The continuous bug fixing over the last couple of releases has gone a long way towards making 2.2.x a more stable platform for application development. At the same time, a large number of new design oriented features has moved Morfik solidly into a camp previously dominated by designer tools, while remaining a developer's tool. Morfik AppsBuilder is certainly a much more designer-friendly application now, then it was a couple of months ago.
The new status bar in the designer offers some really useful information. Download the new build and try it out.
Labels:
M22,
Visual Design
Tuesday, October 6, 2009
Organizing your application with Packages
Author:
Mauricio Longo
Packages were introduced with version 2.1 of AppsBuilder, but it is in version 2.2 that they seem to be really maturing. Version 2.2 introduces several new features for packages including package dependencies and nested packages which open up the way for packages to be used as tool for creating modular applications.
While the packages introduced in 2.1 offered the necessary support for the Widgets concept that was introduced at the same time, it did not lend itself well as a tool for organizing your application. With the new features introduced in 2.2 that is no longer the case.
Why create a modular application in the first place?
There are two main reasons why it is a good idea to breakdown your application into packages: to make it easier to find stuff and to make it easier to distribute work within a team. The first one is a weaker as the built-in filtering feature of the Morfik IDE's project view is quite powerful and makes locating stuff rather easy, if you know what the object you are looking for is called. The second reason, however, is much stronger.
As one of three developers working on creating an application, I frequently find my self having to combine modules from different copies of a project. While it is true that you can manage projects of virtually any size through a good source code management software, I started to contemplate how packages could be used to break up projects into smaller sub-projects.
As it turned out there was a road block on my path to breaking up a large project into several packages in the form of the project's database. Any items moved to a package would not have knowledge of the database objects that were part of the main project. By the same token, if the database objects were created in a package, forms in other packages would not be able to see them as well. This looked like a problem without a solution, and it was until Morfik Appsbuilder 2.2 came out.
Nested packages to the rescue
With version 2.2 of AppsBuilder came the possibility of having packages being used by other packages and this gave me an idea: What if we were to put all the database objects into a single package and then have all other packages reference that one. As soon as it occured to me I set out to test the idea and it the proof of concept works okay so far.
My first quick experiment made one thing painfully clear though: you need to set out to create a modular application right from the start. The current incarnation of the project I am working on has between 50 and 60 forms, 30 tables, 18 queries and over 15 Firebird stored procedures. Almost all of these items would need to be changed if I were to attempt to break this application into packages. This is basically due to a feature in Morfik which is designed to ensure that name clashes don't occur between packages created by different developers.
You see, in order to create a package you need to have a Package ticket file. A ticket file can be quickly created from within the IDE itself and it reserves a prefix for your use. This prefix is then mandatory in all objects created within your packages. While the usage of this prefix does prevent two developers from creating objects with the same name, it also precludes the possibility of simply slicing up an existing project into packages as all items that were moved into the packages would need to have their names changed.
For new applications, however, it is a simple matter to create all database objects in a single package that is then referenced by all other packages that are created for the application. When creating packages that reference this database package it is a good practice to flag it as a required package. This will prevent anyone from adding the depedent package to a project without previously adding the required package with the database objects.
Breaking up an application into packages can be quite useful, especially since Morfik's own form based architecture leads us to create a large number of objects (forms) which are used to compose a larger one. This tends to leave us with several objects which are part of a larger context. For example, in order to create a user management module you might end up with several forms for users, groups, permissions, etc.
You can combine all these objects into a single package and pretty much never see these objects, unless you need to do some work on them.
Have your worked with Morfik packages yet?
While the packages introduced in 2.1 offered the necessary support for the Widgets concept that was introduced at the same time, it did not lend itself well as a tool for organizing your application. With the new features introduced in 2.2 that is no longer the case.
Why create a modular application in the first place?
There are two main reasons why it is a good idea to breakdown your application into packages: to make it easier to find stuff and to make it easier to distribute work within a team. The first one is a weaker as the built-in filtering feature of the Morfik IDE's project view is quite powerful and makes locating stuff rather easy, if you know what the object you are looking for is called. The second reason, however, is much stronger.
As one of three developers working on creating an application, I frequently find my self having to combine modules from different copies of a project. While it is true that you can manage projects of virtually any size through a good source code management software, I started to contemplate how packages could be used to break up projects into smaller sub-projects.
As it turned out there was a road block on my path to breaking up a large project into several packages in the form of the project's database. Any items moved to a package would not have knowledge of the database objects that were part of the main project. By the same token, if the database objects were created in a package, forms in other packages would not be able to see them as well. This looked like a problem without a solution, and it was until Morfik Appsbuilder 2.2 came out.
Nested packages to the rescue
With version 2.2 of AppsBuilder came the possibility of having packages being used by other packages and this gave me an idea: What if we were to put all the database objects into a single package and then have all other packages reference that one. As soon as it occured to me I set out to test the idea and it the proof of concept works okay so far.
My first quick experiment made one thing painfully clear though: you need to set out to create a modular application right from the start. The current incarnation of the project I am working on has between 50 and 60 forms, 30 tables, 18 queries and over 15 Firebird stored procedures. Almost all of these items would need to be changed if I were to attempt to break this application into packages. This is basically due to a feature in Morfik which is designed to ensure that name clashes don't occur between packages created by different developers.
You see, in order to create a package you need to have a Package ticket file. A ticket file can be quickly created from within the IDE itself and it reserves a prefix for your use. This prefix is then mandatory in all objects created within your packages. While the usage of this prefix does prevent two developers from creating objects with the same name, it also precludes the possibility of simply slicing up an existing project into packages as all items that were moved into the packages would need to have their names changed.
For new applications, however, it is a simple matter to create all database objects in a single package that is then referenced by all other packages that are created for the application. When creating packages that reference this database package it is a good practice to flag it as a required package. This will prevent anyone from adding the depedent package to a project without previously adding the required package with the database objects.
Breaking up an application into packages can be quite useful, especially since Morfik's own form based architecture leads us to create a large number of objects (forms) which are used to compose a larger one. This tends to leave us with several objects which are part of a larger context. For example, in order to create a user management module you might end up with several forms for users, groups, permissions, etc.
You can combine all these objects into a single package and pretty much never see these objects, unless you need to do some work on them.
Have your worked with Morfik packages yet?
Wednesday, September 30, 2009
Bugfix update for Morfik 2.2.0.7 is available...
Author:
Mauricio Longo
Morfik released, today, a small bugfix update for all versions of AppsBuilder 2.2.x. This update covers a lot of small issues that still needed fixing after last week's 2.2.0.7 release, speacially issues related to the new Dropdown control.
Some issues with the rendering of semi-transparent controls in the IDE's thumbnails, and of certain controls in the new Zoom mode have also been addressed making for a smoother all around usage of the tool.
Some issues with the rendering of semi-transparent controls in the IDE's thumbnails, and of certain controls in the new Zoom mode have also been addressed making for a smoother all around usage of the tool.
Labels:
M22,
Visual Design
Friday, September 25, 2009
Morfik 2.2 is out and looking good.
Author:
Mauricio Longo
Morfik has just released version 2.2 of its line of AppsBuilder tools. This new version has some very interesting new design features including graphical zoom in the form designer and a bunch of new graphical effects for the background of your websites.
Also changed in this version is how the form designer handles bands. The thick, three dimentional, band delimeters have been replaced by thin lines which interfere much less with your visualization of the design you're working on. The band names are now indicated outsite of the actual form design resulting in a much cleaner view of your work.
Morfik removed the sliding effect its panels used through out the IDE and the panels no longer pop out without being clicked on. This is a feature I have been long requesting as I always considered the old behavior distracting and many times annoying.
The list of enhancements is quite extensive, specially those related to packages and widgets which I will explore in more detail in a follow up post.
Download and try out this new version. It should be worth your time.
Also changed in this version is how the form designer handles bands. The thick, three dimentional, band delimeters have been replaced by thin lines which interfere much less with your visualization of the design you're working on. The band names are now indicated outsite of the actual form design resulting in a much cleaner view of your work.
Morfik removed the sliding effect its panels used through out the IDE and the panels no longer pop out without being clicked on. This is a feature I have been long requesting as I always considered the old behavior distracting and many times annoying.
The list of enhancements is quite extensive, specially those related to packages and widgets which I will explore in more detail in a follow up post.
Download and try out this new version. It should be worth your time.
Labels:
M21,
Visual Design
Tuesday, August 11, 2009
Morfik 2.1.1.3 update released
Author:
Mauricio Longo
Today, Morfik released version 2.1.1.3 as an update to all versions of AppsBuilder. This is the first of several updates to be released. The update file is only about 6.5MB in size and can be easily and quickly downloaded and installed.
This update addresses several issues identified after the release of the first build of version 2.1, last week, and focuses on correcting problems with Apache plug-in modules and general IDE stability.
You can download the update directly from here.
This update addresses several issues identified after the release of the first build of version 2.1, last week, and focuses on correcting problems with Apache plug-in modules and general IDE stability.
You can download the update directly from here.
Saturday, August 8, 2009
Working with Packages in Morfik - The Basics
Author:
Mauricio Longo
I spent an afternoon going through the basics of working with packages with Morfik 2.1 and thought I'd share with you my first impressions. The first thing that came to mind when I first opened the sample packages available (as a separate download) from the Morfik website, was that the concept was really cool.
With that thought
I proceeded to take on the task of creating a package of my own that would hold the bits and pieces necessary to do something useful. As always, when you set out to test some new technique or product version all ideas seemed to vanish so I just decided that I would do a package that allowed me to insert a blog-like list of articles into any application. That seemed simple enough and as it turns out it really is.
When you first decide to create a package you will need to get a package-ticket with Morfik. This ticket will reserve a three to six letter prefix for your use in creating your personal or business packages. This is handled directly in the New Package Wizard and the ticket is issued immediately. No bureaucracy, no wait.
When you complete the Wizard, while Morfik is "opening" the newly created package, an error is generated. You can safely press cancel and proceed to work in the package. This error is harmless and the result of a simple inversion in the order in which these items are opened after being created. As it turns out the IDE is trying to first open a test form containing a blank widget, before the widget's creation has been completed. (Or something of the sort.:-) This issue should be corrected in a minor point release that Morfik will be making available soon.
Once you have created the package you will have a project which contains one form and one widget. The form is useful for you to test the objects you are creating within your package, without having to continuously add and remove it from other projects. The Package project can be run as it if it were a standard application. The actual redistributable file with the extention MFKPackage is actually quite small, if you haven't added large resources to the project.
Adding resources to a package is an interesting area to consider as all packages you create will share a common resource root folder which has your package prefix, followed by an underscore as its name. In the case of MorfikWatch, for example, the folder is called mfw_. This means that you cannot have two packages that use the same name for two different images, as long as you plan on using them on the same project.
I'm not sure putting all the images for all packages I'll ever create in the same folder is the best design decision, but I understand that it's objective is to avoid having the same image added more than once to any single project. In that regard, this is probably a good decision.
It is obvious that Morfik considers Packages a natural environment for Widgets as any new Package comes with a pre-created Widget. The new features do really seem like an ideal match, as Widgets allow you to your own controls and packages provide a convenient mechanism for distributing them within your team or your customers.
Packages can, also, be great facilitators for larger developer groups. A project can be logically divided into packages so that it's development can be easily handled by different developers.
What other uses can you think of for Morfik Packages?
With that thought
I proceeded to take on the task of creating a package of my own that would hold the bits and pieces necessary to do something useful. As always, when you set out to test some new technique or product version all ideas seemed to vanish so I just decided that I would do a package that allowed me to insert a blog-like list of articles into any application. That seemed simple enough and as it turns out it really is.When you first decide to create a package you will need to get a package-ticket with Morfik. This ticket will reserve a three to six letter prefix for your use in creating your personal or business packages. This is handled directly in the New Package Wizard and the ticket is issued immediately. No bureaucracy, no wait.
When you complete the Wizard, while Morfik is "opening" the newly created package, an error is generated. You can safely press cancel and proceed to work in the package. This error is harmless and the result of a simple inversion in the order in which these items are opened after being created. As it turns out the IDE is trying to first open a test form containing a blank widget, before the widget's creation has been completed. (Or something of the sort.:-) This issue should be corrected in a minor point release that Morfik will be making available soon.
Once you have created the package you will have a project which contains one form and one widget. The form is useful for you to test the objects you are creating within your package, without having to continuously add and remove it from other projects. The Package project can be run as it if it were a standard application. The actual redistributable file with the extention MFKPackage is actually quite small, if you haven't added large resources to the project.
Adding resources to a package is an interesting area to consider as all packages you create will share a common resource root folder which has your package prefix, followed by an underscore as its name. In the case of MorfikWatch, for example, the folder is called mfw_. This means that you cannot have two packages that use the same name for two different images, as long as you plan on using them on the same project.
I'm not sure putting all the images for all packages I'll ever create in the same folder is the best design decision, but I understand that it's objective is to avoid having the same image added more than once to any single project. In that regard, this is probably a good decision.
It is obvious that Morfik considers Packages a natural environment for Widgets as any new Package comes with a pre-created Widget. The new features do really seem like an ideal match, as Widgets allow you to your own controls and packages provide a convenient mechanism for distributing them within your team or your customers.
Packages can, also, be great facilitators for larger developer groups. A project can be logically divided into packages so that it's development can be easily handled by different developers.
What other uses can you think of for Morfik Packages?
Thursday, August 6, 2009
Integrated Hosting + Powerful Visual Design = Morfik 2.1
Author:
Mauricio Longo
I wish I could say that I took the time to experiment with Morfik's Integrated Hosting service, but that would be largely overstating what I, actually, did. Once you go have your project ready for deployment, the process is as simple as following a Wizard. The main decision I was required to make was the sub-domain name that I would use with my account.
Not surprisingly I chose MorfikWatch :-) as the sub-domain name for my Morfik hosted applications. After just a couple of clicks I had the application compiled and deployed as shown in the following picture.
Deploying an application couldn't really be much simpler than that.
When you combine this ease of getting a ready application deployed with the traditionally easy Morfik visual design, you get the one of the best possible solutions for deploying small sites and applications. In fact, the power of the visual designer in Morfik 2.1 has been further enhanced with the ability to customize more in more detail how effects are applied to controls in creating styles.
The combination of the ease and power of visual design with the ease and speed of the Integrated Hosting might come to attract a good number of freelance web designers to become Morfik users.
Not surprisingly I chose MorfikWatch :-) as the sub-domain name for my Morfik hosted applications. After just a couple of clicks I had the application compiled and deployed as shown in the following picture.
Deploying an application couldn't really be much simpler than that. When you combine this ease of getting a ready application deployed with the traditionally easy Morfik visual design, you get the one of the best possible solutions for deploying small sites and applications. In fact, the power of the visual designer in Morfik 2.1 has been further enhanced with the ability to customize more in more detail how effects are applied to controls in creating styles.
The combination of the ease and power of visual design with the ease and speed of the Integrated Hosting might come to attract a good number of freelance web designers to become Morfik users.
Labels:
Deployment,
M21,
Visual Design
New Features in Morfik 2.1
Author:
Mauricio Longo
Morfik 2.1 has a large number of new features. Some of these features are quite impressive while others are just small, though significant, improvements in existing features.
Lets look at the small improvements first. These encompass those small details that can seriously irritate you or make your day. In my particular case, the improvements to how styles are handled represent the greatest gain, in this group. Morfik 2.0's implementation of styles while very impressive seemed a bit incomplete in some areas. Version 2.1 fills in the blanks left in the previous version. Styles now have a dedicated management facility which should make creating and distributing styles a much simpler and faster proposition.
The ability to individually configure which sides of a control will display a border or which corner will be rounded or not are other small changes to the capabilities available to visually design your website or application.
Moving into the realm of what is totally new, two features are quite impressive: Widgets and Packages. Widgets are user definable controls which can be visually created through aggregation. This feature alone may prove to be one of the most interesting in version 2.1 as it makes it much easier to develop controls for the Morfik platform. Packages are very interesting for much the same reason: they make it easier to redistribute code that you have created to other users.
The combination of Widgets and Packages might pave the way for more third party developers to venture into Morfik control creation. Morfik Packages are specially interesting as they can include tables, queries and all other types of documents you can create in a Morfik Application.
In a demonstration of forward thinking, Morfik acted to prevent name clashes between packages developed by different third party vendors. Before you can create your first package the IDE will take you through a registration process where you choose a prefix for your identifiers. This prefix can have from 3 to 6 characters in length and will be appended to the start of all identifier in your package. This will not preclude the possibility of name clashes between the items you create within your package, but these have always been the developer's responsibility anyway.
I have done some basic experimenting with this feature, having registered the "mfw" prefix for MorfikWatch packages. The following picture shows my first attempt at creating a widget, already inserted into a form, at design time.
Along with the new version, Morfik made available a set of three demo packages and a 53 page document describing the most significant new features. In this document the creation of Widgets is described in detail as is another significant feature: Integrated Hosting.
Integrated Hosting is how Morfik is calling its hosting service offering which is available directly from within the IDE. The ease and speed of deployment this service offers will certainly interest a large number of developers, specially for development and demo purposes. It should provide much greater impact to just click through a wizard to deploy your application so that your users can see a live version of it, than to personally carry it on a notebook to show to other people. This of course is entirely dependent of type of application you are creating and the types of customers you have.
Apart from all I have just mentioned, Morfik 2.1 includes several features which can be used together to create sites which can be indexed by search engines: Clean URLs, HyperLinks and SEO-specific options for URLs.
All in all, Morfik 2.1 is a very impressive product. I will be adding new posts that go into more detail about specific features in the coming days.
Lets look at the small improvements first. These encompass those small details that can seriously irritate you or make your day. In my particular case, the improvements to how styles are handled represent the greatest gain, in this group. Morfik 2.0's implementation of styles while very impressive seemed a bit incomplete in some areas. Version 2.1 fills in the blanks left in the previous version. Styles now have a dedicated management facility which should make creating and distributing styles a much simpler and faster proposition.
The ability to individually configure which sides of a control will display a border or which corner will be rounded or not are other small changes to the capabilities available to visually design your website or application.
Moving into the realm of what is totally new, two features are quite impressive: Widgets and Packages. Widgets are user definable controls which can be visually created through aggregation. This feature alone may prove to be one of the most interesting in version 2.1 as it makes it much easier to develop controls for the Morfik platform. Packages are very interesting for much the same reason: they make it easier to redistribute code that you have created to other users.
The combination of Widgets and Packages might pave the way for more third party developers to venture into Morfik control creation. Morfik Packages are specially interesting as they can include tables, queries and all other types of documents you can create in a Morfik Application.
In a demonstration of forward thinking, Morfik acted to prevent name clashes between packages developed by different third party vendors. Before you can create your first package the IDE will take you through a registration process where you choose a prefix for your identifiers. This prefix can have from 3 to 6 characters in length and will be appended to the start of all identifier in your package. This will not preclude the possibility of name clashes between the items you create within your package, but these have always been the developer's responsibility anyway.
I have done some basic experimenting with this feature, having registered the "mfw" prefix for MorfikWatch packages. The following picture shows my first attempt at creating a widget, already inserted into a form, at design time.

Along with the new version, Morfik made available a set of three demo packages and a 53 page document describing the most significant new features. In this document the creation of Widgets is described in detail as is another significant feature: Integrated Hosting.
Integrated Hosting is how Morfik is calling its hosting service offering which is available directly from within the IDE. The ease and speed of deployment this service offers will certainly interest a large number of developers, specially for development and demo purposes. It should provide much greater impact to just click through a wizard to deploy your application so that your users can see a live version of it, than to personally carry it on a notebook to show to other people. This of course is entirely dependent of type of application you are creating and the types of customers you have.
Apart from all I have just mentioned, Morfik 2.1 includes several features which can be used together to create sites which can be indexed by search engines: Clean URLs, HyperLinks and SEO-specific options for URLs.
All in all, Morfik 2.1 is a very impressive product. I will be adding new posts that go into more detail about specific features in the coming days.
Labels:
Deployment,
M21,
Packages,
styles,
Widgets
Wednesday, August 5, 2009
Morfik 2.1 has been released
Author:
Mauricio Longo
Morfik has just made version 2.1 available for download. Along with several new features which were added to the existing FX and BX versions of AppsBuilder, a whole new version has been released. Morfik CX uses the C# language for all programming, both for the browser and server portions of the application, just as FX uses Pascal and BX uses Basic.
I'm currently in the process of downloading the new release and more posts about the new features in version 2.1 should be published later today.
I'm currently in the process of downloading the new release and more posts about the new features in version 2.1 should be published later today.
Friday, July 31, 2009
Morfik 2.1 Update
Author:
Mauricio Longo
Just a bit over 15 minutes ago Aram Mirkazemi, Morfik's CEO, wrote a post on the General Discussions forum of the company's website, indicating that the new release is likely to be released by mid next week.
While I know that many where anxiously awaiting a release today, a few more days shouldn't make that much of a difference, specially if they translate into a release which has been thoroughly tested. Hopefully, this time next week everyone will have had a chance to experiment a bit with AppsBuilder 2.1 and will be reading more about it, right here at MorfikWatch.
While I know that many where anxiously awaiting a release today, a few more days shouldn't make that much of a difference, specially if they translate into a release which has been thoroughly tested. Hopefully, this time next week everyone will have had a chance to experiment a bit with AppsBuilder 2.1 and will be reading more about it, right here at MorfikWatch.
Labels:
M21,
MorfikWatch
Thursday, July 23, 2009
Morfik AppsBuilder 2.1 is coming...
Author:
Mauricio Longo
Most users of Morfik AppsBuilder should by now be aware that a new release is expected soon. Version 2.1 promises to be feature packed with lots of interesting new options and capabilities. As soon as version 2.1 is released, I'll be writing and posting to MorfikWatch a series of article, covering the new features that were introduced in this version.
These articles are intended to be a general description of how to use the new features, for those who are not yet full time Morfik developers or just coming into the Morfik world. Experienced users who use Morfik in their day-to-day work should have little difficulty in finding out about the new features by themselves but may also save some time by going through these articles first.
These articles are intended to be a general description of how to use the new features, for those who are not yet full time Morfik developers or just coming into the Morfik world. Experienced users who use Morfik in their day-to-day work should have little difficulty in finding out about the new features by themselves but may also save some time by going through these articles first.
Labels:
MorfikWatch
Tuesday, July 14, 2009
A Morfik wish list
Author:
Mauricio Longo
While chatting with a friend, a few minutes ago, I started making up a small Morfik wish list. These are a few things I miss in the current version of AppsBuilder and that I have not seen mentioned in the list of things expected to be available for the 2.1 release. It occurred to me that if I don't tell people about them, the chance of one of one of them ever finding its way to a future release of AppsBuilder was slim at best.
So, here we go...
I'll stop at this point. Having an active imagination I could go on forever. These are some of the more important things (apart from the visual navigation which would just be nice to have), which I did not see mentioned in the list of improvements that we can expect for the 2.1 release.
Does anyone else have any other "practical" suggestions for the future?
So, here we go...
- Spell checking for the text in TextLabels. Ideally this would be visible in form design mode, but I would settle for having it work in the dialog box where you enter the text for the caption property.
- The ability to bind any property to a database field. For example, binding the Visible property of a control to a boolean (true/false) field.
- A visual way to design page navigation for the application, which would automatically generate navigation menus. I remember that this was in my wish list for 1.0, but I'm sure it was too soon for it back then. Now that Morfik AppsBuilder is a more mature product with a much more sophisticated IDE, the time could be right for something like this.
- Easy integration with Google Analytics. This is a great and free tool for following the access patterns to your website.
- Explicit support for database stored procedures. Stored procedures are great for accomplishing any number of tasks, including data retrieval and while it is possible to use them through pass-through queries it would be enormously helpful if we could see the available stored procedures in the current database in the Morfik Project View and choose one of them as a data source for Form.
- Input field masks, formatting and data validation. Having tool support for handling data input is validation, while not critical websites which have few input Forms, is critically important for business applications.
I'll stop at this point. Having an active imagination I could go on forever. These are some of the more important things (apart from the visual navigation which would just be nice to have), which I did not see mentioned in the list of improvements that we can expect for the 2.1 release.
Does anyone else have any other "practical" suggestions for the future?
Labels:
Architecture,
M2,
Visual Design
Sunday, July 12, 2009
Morfik Developers Day in Brazil
Author:
Mauricio Longo
I've been invited by a local Morfik user to present a series of sessions, in a day long event, about Morfik AppsBuilder. This user, Fabiano Costa, got the idea from a recent post where I mentioned my presence at the Firebird Developer's Day event that happened recently in the city of Piracicaba, in Brazil.
I had not doubts about accepting the invitation, even though I have no real idea of what the number of interested people in the region is like. I have a long standing passion for Morfik and can't really resist an opportunity to talk about the product. (As any readers of this blog might have noticed.)
So... It seems that Brazil will be the first country to have a Morfik Developer's Day, which should happen in September. Hopefully, Morfik 2.1 will be out by then and I'll have even more interesting things to talk about.
I had not doubts about accepting the invitation, even though I have no real idea of what the number of interested people in the region is like. I have a long standing passion for Morfik and can't really resist an opportunity to talk about the product. (As any readers of this blog might have noticed.)
So... It seems that Brazil will be the first country to have a Morfik Developer's Day, which should happen in September. Hopefully, Morfik 2.1 will be out by then and I'll have even more interesting things to talk about.
Labels:
Event,
MorfikWatch,
Training
Sunday, July 5, 2009
Firebird Developer's Day
Author:
Mauricio Longo
Yesterday I presented a session on data organization and modeling for websites at the 6th Firebird Developer's Day, in Piracicaba, Brazil. This is an annual event that draws in from five to seven hundred people, every time.
As with the previous versions of the event, everything ran quite smoothly and I had the opportunity to chat with a lot of people in the Firebird usar community. I ran into several people that asked for information about Morfik and used some of my free time to demo AppsBuilder 2.0.5.27 to some of my fellow speakers. As usual, everyone liked Morfik's current generation designers and visual effects, immediatelly.
The usage and general interest in Morfik in Brazil continues to grow, from I can see and I noticed that some objections to the product, raised by early testers, seem to be in the list of new features slated to be present in Morfik 2.1, which should be comming out next month. That seems like a nice indication that Morfik is moving in the right direction with its evolution of the product.
As with the previous versions of the event, everything ran quite smoothly and I had the opportunity to chat with a lot of people in the Firebird usar community. I ran into several people that asked for information about Morfik and used some of my free time to demo AppsBuilder 2.0.5.27 to some of my fellow speakers. As usual, everyone liked Morfik's current generation designers and visual effects, immediatelly.
The usage and general interest in Morfik in Brazil continues to grow, from I can see and I noticed that some objections to the product, raised by early testers, seem to be in the list of new features slated to be present in Morfik 2.1, which should be comming out next month. That seems like a nice indication that Morfik is moving in the right direction with its evolution of the product.
Labels:
Database,
Firebird,
Visual Design
Saturday, June 27, 2009
Sometimes simple isn't really simple at all
Author:
Mauricio Longo
This afternoon I was working on creating a hierarchical visualization for a set of data, using Morfik. Essentially, what I wished to accomplish was a tree-like representation of a rather complex set of data.
Well, Morfik being a tool that is geared towards the creation of data-driven applications it seemed just too easy. I had a friend sitting besides me and I smugly thought to my self that I would show him just how easy it is to create such a representation in Morfik.
Two hours later I was still trying to achieve the results I wanted, though not due to any fault of Morfik AppsBuilder. If anything, AppsBuilder made things too easy. So easy that I simply didn't bother to build my data access as I should have done, instead I just went for visually creating a query with a subquery. Then I got bogged down when in some situations the query did no return the result set I expected. I spent most of those two hours trying to coerce this query into giving me the information I wanted, when I wanted it, to no avail.
It was then that I decided that it would probably be simpler, not to try to be so simple minded. In about ten minutes I had writen a stored procedure which gave me exactly the result set I expected, when I expected and had it plugged-in to my Morfik application.
Normally I would argue that using a visual query builder is simpler than hand coding your own data access in stored procedures, however, in this specific case the exact opposite is true. There are several good tools in the market for direct manipulation of Firebird databases, inclusing some free ones. If you haven't tried out some of these tools, I recommend that you do so as it is not possible to create triggers or stored procedures from within the Morfik environment.
Well, Morfik being a tool that is geared towards the creation of data-driven applications it seemed just too easy. I had a friend sitting besides me and I smugly thought to my self that I would show him just how easy it is to create such a representation in Morfik.
Two hours later I was still trying to achieve the results I wanted, though not due to any fault of Morfik AppsBuilder. If anything, AppsBuilder made things too easy. So easy that I simply didn't bother to build my data access as I should have done, instead I just went for visually creating a query with a subquery. Then I got bogged down when in some situations the query did no return the result set I expected. I spent most of those two hours trying to coerce this query into giving me the information I wanted, when I wanted it, to no avail.
It was then that I decided that it would probably be simpler, not to try to be so simple minded. In about ten minutes I had writen a stored procedure which gave me exactly the result set I expected, when I expected and had it plugged-in to my Morfik application.
Normally I would argue that using a visual query builder is simpler than hand coding your own data access in stored procedures, however, in this specific case the exact opposite is true. There are several good tools in the market for direct manipulation of Firebird databases, inclusing some free ones. If you haven't tried out some of these tools, I recommend that you do so as it is not possible to create triggers or stored procedures from within the Morfik environment.
Labels:
Database,
Programming
Saturday, June 20, 2009
PannonRex introduces a specialized Morfik hosting service
Author:
Mauricio Longo
Today PannonRex, a company well known for doing Morfik consulting and custom control development, announced that it is introducing a specialized hosting service for Morfik applications.
According to Péter Illés, PannonRex's CEO, the service will be custom fitted to the users needs, instead of being a fixed set of pre-defined offerings. The main goal is to provide a managed hosting service that can handle special needs in terms of service integration (payment gateways, for example), or resource requirements.
Mr. Illés explained that while the service was being announced today, it was developed as an extension to custom hosting services already being provided for a few companies that developed Morfik applications and turned to PannonRex for help when it was time to deploy them.
With the introduction of this service Morfik developers will have a speacialized service provider where to take their applications, should they outgrow the application hosting service which will be provided by Morfik itself. Being a company focused on Morfik application development, consulting and hosting, PannonRex will be the one to go to if your application needs a dedicated server, or multiple servers, and you want the support of a team that is familiar with your applications chosen technology.
According to Péter Illés, PannonRex's CEO, the service will be custom fitted to the users needs, instead of being a fixed set of pre-defined offerings. The main goal is to provide a managed hosting service that can handle special needs in terms of service integration (payment gateways, for example), or resource requirements.
Mr. Illés explained that while the service was being announced today, it was developed as an extension to custom hosting services already being provided for a few companies that developed Morfik applications and turned to PannonRex for help when it was time to deploy them.
With the introduction of this service Morfik developers will have a speacialized service provider where to take their applications, should they outgrow the application hosting service which will be provided by Morfik itself. Being a company focused on Morfik application development, consulting and hosting, PannonRex will be the one to go to if your application needs a dedicated server, or multiple servers, and you want the support of a team that is familiar with your applications chosen technology.
Labels:
Hosting
Sunday, June 7, 2009
Morfik Languages: C# or something else?
Author:
Mauricio Longo
Anyone that has taken an interest in Morfik AppsBuilder 2.0 knows that it is available in two editions: FX (Pascal) and BX (Basic). That is huge change to what you would find in AppsBuilder 1.4 which supported four different languages (Pascal, Basic, C# and MorfikJ a.k.a. Java) in a single version.
I have no idea why Morfik decided to separate the languages in 2.0 and have a separate edition for each language, but I imagine the reason they left C# and Java out was that these languages had drawn much less interest than Pascal and Basic and their compilers were not up to the level of the Pascal and Basic ones. In a previous post I presented a list of new features that were mentioned as being underway for version 2.1 by Aram Mirkazemi (Morfik CEO). Among these features was should be actually a whole new edition: C#.
There is a huge number of people around the world that work daily with languages from the C-family of programming languages and which would feel more at home working with a more familiar language. With this consideration in mind I would say that having C# support would be a nice thing. There is another question that comes into play, however. Most people that here the name C# would immediately expect to find support to the .net library, which is essentially the runtime library for the C# language. Morfik, however, has its own framework which has very little, or nothing, to do with .net. This might lead to people being disappointed with the C# edition and not taking up Morfik at all.
I feel it would be a better move for Morfik to add support for a c-family programming language but not call it C# as it will be working with a framework entirely different from what C# developers are used to and will have features that C# does not, in order to fully support the Morfik Framework. Having a language similar to C# and Java could be an asset but calling the language C# or Java could actually work out to hinder the adoption of the language and consequently the tool itself.
What do you think?
I have no idea why Morfik decided to separate the languages in 2.0 and have a separate edition for each language, but I imagine the reason they left C# and Java out was that these languages had drawn much less interest than Pascal and Basic and their compilers were not up to the level of the Pascal and Basic ones. In a previous post I presented a list of new features that were mentioned as being underway for version 2.1 by Aram Mirkazemi (Morfik CEO). Among these features was should be actually a whole new edition: C#.
There is a huge number of people around the world that work daily with languages from the C-family of programming languages and which would feel more at home working with a more familiar language. With this consideration in mind I would say that having C# support would be a nice thing. There is another question that comes into play, however. Most people that here the name C# would immediately expect to find support to the .net library, which is essentially the runtime library for the C# language. Morfik, however, has its own framework which has very little, or nothing, to do with .net. This might lead to people being disappointed with the C# edition and not taking up Morfik at all.
I feel it would be a better move for Morfik to add support for a c-family programming language but not call it C# as it will be working with a framework entirely different from what C# developers are used to and will have features that C# does not, in order to fully support the Morfik Framework. Having a language similar to C# and Java could be an asset but calling the language C# or Java could actually work out to hinder the adoption of the language and consequently the tool itself.
What do you think?
Labels:
Architecture,
Programming
Monday, May 25, 2009
New features in Morfik 2.1
Author:
Mauricio Longo
Aram Mirkazemi, Morfik's CEO and main architect, presented a new list of features for Morfik AppsBuilder 2.1, in a recent forum post. This post presents an interesting list of features that which Mirkazemi says will be available by the end of the second quarter of 2009.
Here are some of the highlights:
1. Page Architecture and Search Engine Optimization - Pages are a new kind of project object. During the beta phase of AppsBuilder 2.0 there was a period where a Page object was available as well. This might be a refinement of that concept.
2. Plug-in architecture for controls, downloadable plug-ins - It seems that Morfik will be making available sample plug-ins to demo the usage of this architecture, when 2.1 is released. The only sample specifically identified is a plug-in for handling user authentication. This new architecture will form the basis for new and more powerful controls.
3. Editable continuous forms - This is presented as a subitem of the previous one in the original post, but anyone that has done any serious development with Morfik AppsBuilder should know that it deserves a special place of its own. This will be available as a third type of form (single, continuous and now grid).
4. Push button XApp hosting platform - This service is supposed to be available in a similar time frame to AppsBuilder 2.1 and will in fact require it in order to be used.
5. C# Support - A version of Morfik AppsBuilder using C# as its programming language is supposed to be available when 2.1 is finally released.
Another item of interest in the post is that the update to the Morfik documentation has been delayed and should not be available in the same time frame as 2.1.
Here are some of the highlights:
1. Page Architecture and Search Engine Optimization - Pages are a new kind of project object. During the beta phase of AppsBuilder 2.0 there was a period where a Page object was available as well. This might be a refinement of that concept.
2. Plug-in architecture for controls, downloadable plug-ins - It seems that Morfik will be making available sample plug-ins to demo the usage of this architecture, when 2.1 is released. The only sample specifically identified is a plug-in for handling user authentication. This new architecture will form the basis for new and more powerful controls.
3. Editable continuous forms - This is presented as a subitem of the previous one in the original post, but anyone that has done any serious development with Morfik AppsBuilder should know that it deserves a special place of its own. This will be available as a third type of form (single, continuous and now grid).
4. Push button XApp hosting platform - This service is supposed to be available in a similar time frame to AppsBuilder 2.1 and will in fact require it in order to be used.
5. C# Support - A version of Morfik AppsBuilder using C# as its programming language is supposed to be available when 2.1 is finally released.
Another item of interest in the post is that the update to the Morfik documentation has been delayed and should not be available in the same time frame as 2.1.
Saturday, May 9, 2009
Sometimes it is easier than you think...
Author:
Mauricio Longo
Just this week a developer who was building his first application with Morfik looked me up and was really eager to get me to look over his project because of some problems he was having. He had convinced himself that the trouble he was having was because he didn't really know Morfik AppsBuilder and that that was holding back his progress.
I can understand the feeling. I believe we all can as most developers have started to use a new set of tools more than once in his/her life. As it turned out, in this case, it was mostly the preconception that the problem was due to lack of specialized knowledge that was keeping him from moving forward.
Of the two problems he showed me, the first was just a simple error in the logic of the procedure he had coded. The problem was so obvious when you looked at it that he was embarrassed. (I can sympathize as I did something similar just two weeks ago.)
The second problem was indeed something that was specific to Morfik, but again, the solution was quite obvious as it was pretty much stated in the error message he was getting and on the screen where he had to check to try to understand the problem. He wanted images embedded in the database fields but had defined them as linked. Again, in this case, he wasn't really looking for the solution as he pretty much assumed that he wouldn't find it.
Sometimes you need to relax and realize that things really can be that easy.
I can understand the feeling. I believe we all can as most developers have started to use a new set of tools more than once in his/her life. As it turned out, in this case, it was mostly the preconception that the problem was due to lack of specialized knowledge that was keeping him from moving forward.
Of the two problems he showed me, the first was just a simple error in the logic of the procedure he had coded. The problem was so obvious when you looked at it that he was embarrassed. (I can sympathize as I did something similar just two weeks ago.)
The second problem was indeed something that was specific to Morfik, but again, the solution was quite obvious as it was pretty much stated in the error message he was getting and on the screen where he had to check to try to understand the problem. He wanted images embedded in the database fields but had defined them as linked. Again, in this case, he wasn't really looking for the solution as he pretty much assumed that he wouldn't find it.
Sometimes you need to relax and realize that things really can be that easy.
Labels:
Programming
Saturday, May 2, 2009
Running Morfik on a Mac
Author:
Mauricio Longo
Since Morfik is a Windows application, I would guess that there are few Mac users out there using it, right now. It is, however, perfectly usable when running from within a Parallels's virtual machine.
I tried this setup, recently, as I have been moving more and more towards becoming a a full time user of OS X and Morfik AppsBuilder is the single irreplaceable Windows application I still use. It worked quite well. I worked out so well that I decided to take the plunge and move definitively to the Mac.
I am using a basic model MacBook, one of the white ones, so anything newer than that should have even better performance. I can compare the performance of running AppsBuilder in this computer, through the virtual machine is comparable to the performance I get while running it on a Turium X2 based computer with 2 GB or RAM.

I have to admit that I did upgrade the MacBook's original 1GB to a full 4GB in order to run the virtual machine. I installed a copy of Windows XP Home in the virtual machine, which seemed like the best option as it requires much less system resources than Vista. Giving it a full gigabyte of RAM to use made things worked fine while running in Parallels' coheerance mode Morfik pretty much just seems to be another Mac application. (even though it has this Office 2007-look)
Now what I need to look into is how to get rid of that Windows Taskbar floating over my dock, while I'm using Morfik.
I tried this setup, recently, as I have been moving more and more towards becoming a a full time user of OS X and Morfik AppsBuilder is the single irreplaceable Windows application I still use. It worked quite well. I worked out so well that I decided to take the plunge and move definitively to the Mac.
I am using a basic model MacBook, one of the white ones, so anything newer than that should have even better performance. I can compare the performance of running AppsBuilder in this computer, through the virtual machine is comparable to the performance I get while running it on a Turium X2 based computer with 2 GB or RAM.

I have to admit that I did upgrade the MacBook's original 1GB to a full 4GB in order to run the virtual machine. I installed a copy of Windows XP Home in the virtual machine, which seemed like the best option as it requires much less system resources than Vista. Giving it a full gigabyte of RAM to use made things worked fine while running in Parallels' coheerance mode Morfik pretty much just seems to be another Mac application. (even though it has this Office 2007-look)
Now what I need to look into is how to get rid of that Windows Taskbar floating over my dock, while I'm using Morfik.
Labels:
M2
Thursday, April 23, 2009
Getting the most out of Popup forms
Author:
Mauricio Longo
Morfik AppsBuilder makes it very easy to use popups, but knowing exactly how to get the desired effect or appearance might not be immediately obvious. I noticed this, just this week, during a conversation with a friend.
I've, personally, developed my own pattern for using popups in my applications and handn't really stopped to consider that I was not touching all aspects of what you can do with them. When this friend showed me his application and asked me how to do somethings he hadn't figured out himself, it hit me that I hadn't really taken the time to exercise all the possibilities of popup forms.
With that perception and after a few consultations I set about looking up all the special parameters that can be used for customizing popups. The following is a list of these parameters.
Popup forms can be extremely valuable in allowing you handle data input and message display. These forms also open up entirely new interface possibilities.
I've, personally, developed my own pattern for using popups in my applications and handn't really stopped to consider that I was not touching all aspects of what you can do with them. When this friend showed me his application and asked me how to do somethings he hadn't figured out himself, it hit me that I hadn't really taken the time to exercise all the possibilities of popup forms.
With that perception and after a few consultations I set about looking up all the special parameters that can be used for customizing popups. The following is a list of these parameters.
- Modal - this is a boolean parameter which darkens the page outside of the popup and blocks user clicks to anything else. (Ex.: "modal=true")
- Title - this is a string parameter that allows you to set the title that will be displayed on the popup's caption. (Ex.: "title=Warning")
- Closable - this is a boolean parameter which allows you to disable the close button on the upper right corner of the popup. (Ex.: "closable=false")
- Draggable - boolean parameter which allows you to restrict the user's ability to drag the popup around the page. (Ex.: "draggable=false")
- NoBorder - boolean parameter which allows the form to be displayed without a border. (Ex.: "noborder=true")
- Center - this is a boolean parameter which allows the user to specify that the popup should appear at the center of the page. (Ex.: "center=true")
- Left - this is an integer parameter that allows the horizontal position where the popup will be displayed to be specified. (Ex.: "left=10")
- Top - this is an integer parameter that allows the vertical position where the popup will be displayed to be specified. (Ex.: "top=20")
Popup forms can be extremely valuable in allowing you handle data input and message display. These forms also open up entirely new interface possibilities.
Saturday, April 11, 2009
New Tree control and utilities available from PannonRex
Author:
Mauricio Longo
This week, as I mentioned in a previous post, a new, Morfik-specific, custom control was released by PannonRex, a long standing Morfik partner. The first control to come out is the visual equivalent of a treeview and it comes with a nice load of utility functions.
Though I have had the package for a couple of days, I haven't yet been able to sit down and do a careful review of what is included in the pack. It is a bit frustrating not being able to jump right in and go through the all the code, but the last few days have been extremely busy for me as I have had to take over the duties of Head of It for a small financial group. This combined with the fact that I was also making the final push in my move to the Mac to produce caos in my writing work.
The following figure shows a screenshot of the demo application that is bundled in the Pack

The tree control can show just about any well formatted HTML content for its nodes. This offers a good degree of freedom for creativity when planning your application's interface.
The PannonRex PMAP pack offers a nice touch of non-vendor-supplied technogy for those that want to dive deeper into building powerful Web-based applications.
Though I have had the package for a couple of days, I haven't yet been able to sit down and do a careful review of what is included in the pack. It is a bit frustrating not being able to jump right in and go through the all the code, but the last few days have been extremely busy for me as I have had to take over the duties of Head of It for a small financial group. This combined with the fact that I was also making the final push in my move to the Mac to produce caos in my writing work.
The following figure shows a screenshot of the demo application that is bundled in the Pack

The tree control can show just about any well formatted HTML content for its nodes. This offers a good degree of freedom for creativity when planning your application's interface.
The PannonRex PMAP pack offers a nice touch of non-vendor-supplied technogy for those that want to dive deeper into building powerful Web-based applications.
Labels:
M2,
Programming,
Visual Design
Thursday, April 9, 2009
New Morfik site: hidden clues of what is to come...
Author:
Mauricio Longo
Doing a quick scan of the new Morfik website, searching for a specific bit of information I noticed that as I moved my mouse over links, their corresponding URLs/Paths were shown in the statusbar. If you haven't yet noticed, this is not only unusual, but totally out of character for a regular Morfik application.
Your everyday Morfik application uses a JavaScript event handler to treat clicks on on hyperlinks and therefore does not display any information on the statusbar. This made me curious and so I started passing my mouse pointer over just about anything I could find that remotely resembled a hyperlink. To my surprise, this was not an isolated event. Pretty much all links, I passed the pointer over, displayed such paths on the statusbar.
This seems like a great step forward for Morfik as whatever the technique that is being used, it should make Morfik-built websites that much more friendly to the search engines. The other main issue with getting a Morfik application indexed by a search engine was the fact that a Morfik website/App is extremely heavy on JavaScript, with very little actual HTML text to be indexed.
With this thought in mind I decided to run a test on the new website. I disabled JavaScript in my Safari browser and keyed to reload the website. The result was nothing short of phenomenal as very similar version of the JavaScript-heavy website came up. I was so astonished that the first thing I did was take a couple of screen shots, just to make sure I had this documented if they decided to make any changes that prevented me from loading this page in the future.
The following screenshots show two versions of the new Morfik website loaded, side-by-side. The screenshot on the left is with JavaScript enabled and the one on the left has it disabled.

Notice, how dispite having a few differences, both screen shots are quite similar.
It is clear that some new technique is being employed in the construction of this new website and the widespread presence of such large functional changes leads me to believe that the website is the result of some serious tweaking to the Morfik Framework or the Morfik compiler, or even both.
Whatever internal version of AppsBuilder Morfik may have used to create the new website, it is clear to me that Morfik has made a new breakthrough in how the browser side of an application is generated. I'll continue to look for new details I might have overlooked when I was searching the website for signs of other changes or new features.
Regardless of finding anything else, this new website seems to indicate that Morfik is moving its research and development into solving some of the structural limitations related to Ajax usage, just as when they were the first to solve the history (back/forward) list navigation issue.
Your everyday Morfik application uses a JavaScript event handler to treat clicks on on hyperlinks and therefore does not display any information on the statusbar. This made me curious and so I started passing my mouse pointer over just about anything I could find that remotely resembled a hyperlink. To my surprise, this was not an isolated event. Pretty much all links, I passed the pointer over, displayed such paths on the statusbar.
This seems like a great step forward for Morfik as whatever the technique that is being used, it should make Morfik-built websites that much more friendly to the search engines. The other main issue with getting a Morfik application indexed by a search engine was the fact that a Morfik website/App is extremely heavy on JavaScript, with very little actual HTML text to be indexed.
With this thought in mind I decided to run a test on the new website. I disabled JavaScript in my Safari browser and keyed to reload the website. The result was nothing short of phenomenal as very similar version of the JavaScript-heavy website came up. I was so astonished that the first thing I did was take a couple of screen shots, just to make sure I had this documented if they decided to make any changes that prevented me from loading this page in the future.
The following screenshots show two versions of the new Morfik website loaded, side-by-side. The screenshot on the left is with JavaScript enabled and the one on the left has it disabled.

Notice, how dispite having a few differences, both screen shots are quite similar.
It is clear that some new technique is being employed in the construction of this new website and the widespread presence of such large functional changes leads me to believe that the website is the result of some serious tweaking to the Morfik Framework or the Morfik compiler, or even both.
Whatever internal version of AppsBuilder Morfik may have used to create the new website, it is clear to me that Morfik has made a new breakthrough in how the browser side of an application is generated. I'll continue to look for new details I might have overlooked when I was searching the website for signs of other changes or new features.
Regardless of finding anything else, this new website seems to indicate that Morfik is moving its research and development into solving some of the structural limitations related to Ajax usage, just as when they were the first to solve the history (back/forward) list navigation issue.
Wednesday, April 8, 2009
New custom controls and utilities for Morfik 2.0
Author:
Mauricio Longo
I received notice today of a company that is going ot make available a library with custom controls and utility libraries. This is a nice turn of events as it will allow us to see the first results from the new custom control/IDE interface and how it behaves.
I am waiting to receive download instructions for a trial/test version of this package and as soon as it is available I will write up a review/comment.
I am waiting to receive download instructions for a trial/test version of this package and as soon as it is available I will write up a review/comment.
Labels:
Custom Controls,
Deployment
Monday, April 6, 2009
Sample Review: How2Videos
Author:
Mauricio Longo
The new How2Videos sample project for Morfik 2.0 is a very interesting application to go through, if you are want to extend your Morfik development skills. To begin with, this applications mirrors most of the functionality you find in YouTube, which in it self is already interesting.
In order to duplicate YouTube's core functionality, this application relies on Flash, to provide the video playing capabilities. Flash is also used by that website, which means that the video playback quality is the same, which means that it is pretty much dependent on the quality of the videos you upload into it. Uploading the videos is another interesting point. To accomplish this the How2Videos sample uses the new FlashUploader control which was introduced with the release of AppsBuilder 2.0. Since the site's entire functionality must, almost by definition, rely on Flash there is no harm in using Flash to handle uploads.
The following screenshot shows the video management portion of the applications administrative area. Assuming there was no real reason to change these bits of the application, while digging around this sample, developers also get an insight at how Morfik staff manage this portion of their website.
Another interesting aspect of application development which is covered in this sample is also related to this portion of the management interface: uploading files. Many websites and web-based applications depend on uploading specific content to the server for publishing. This is specially true in the case of adding or changing images published by the application. These sample handles this task in the simplest of ways: linking the FlashUploader control directly to a database table field.
The How2Videos application does not handle the upload of its own videos. This seemed a bit strange at first, but simply going over the data of the few sample videos which are in the project's database and looking at their URLs, it then became clear. Morfik uses this application in combination with a specialized file hosting service to speed transfer of the content, worldwide.
There is a code module in this application called Common, which is worth looking into. This module implements a class, called TXAppCookies, to support the usage of cookies in your application. This same class is present in likewise named module of the Issue Tracker application, also figured in a previous review. In both cases, though other specific utility functions were added to the module, this class seems to be the same. Perhaps this class could be added directly to the Morfik framework in a future release.
On the subject of coding, while going over some of the modules for this application, I ran into a nifty little trick. Morfik allows the user to create functions which are entirely written in JavaScript, regardless of the language they are coding in. Both in Morfik Pascal and Basic you can create a subroutine who's body is all JavaScript, but you cannot directly insert inline JavaScript code. By creating a nested JavaScript subroutine, this sample shows how you can execute a single line of JavaScript code right in the middle of your Pascal or Basic code. The following Pascal code snippet shows an example of this.
{................................................................}
Procedure frmHomeMainVideo.FullScreenLabelClick(Event: TDOMEvent);
Procedure StopPlayer(Id : String); Javascript;
(*! document.getElementById(Id).sendEvent('STOP'); *)
Begin
StopPlayer(FlashContainer.Name + '_FLV_player');
OpenForm('frmMainVideoPopup','popup','"prmVideoID=' +
prmVideoID + '","title=' + TitleLabel.Caption + '","modal=true"');
End;
{................................................................}
As nested subroutines are not a common practice in many programming languages, this little trick might not occur to developers coming into Morfik development from other languages and tools.
Overall this sample helps extend quite a bit the base reference you can draw upon when starting to create a new Morfik project. As with the Issue Tracker sample, the difference in size and complexity of the project pretty much ensures that a lot of new insights can be derived from it, if all you previously had to work with were the smallish samples that are bundled with both Morfik 2.0 versions. It should certainly be worth taking off a couple of hours to run the application and browse through its source code.
In order to duplicate YouTube's core functionality, this application relies on Flash, to provide the video playing capabilities. Flash is also used by that website, which means that the video playback quality is the same, which means that it is pretty much dependent on the quality of the videos you upload into it. Uploading the videos is another interesting point. To accomplish this the How2Videos sample uses the new FlashUploader control which was introduced with the release of AppsBuilder 2.0. Since the site's entire functionality must, almost by definition, rely on Flash there is no harm in using Flash to handle uploads.
The following screenshot shows the video management portion of the applications administrative area. Assuming there was no real reason to change these bits of the application, while digging around this sample, developers also get an insight at how Morfik staff manage this portion of their website.
Another interesting aspect of application development which is covered in this sample is also related to this portion of the management interface: uploading files. Many websites and web-based applications depend on uploading specific content to the server for publishing. This is specially true in the case of adding or changing images published by the application. These sample handles this task in the simplest of ways: linking the FlashUploader control directly to a database table field.
The How2Videos application does not handle the upload of its own videos. This seemed a bit strange at first, but simply going over the data of the few sample videos which are in the project's database and looking at their URLs, it then became clear. Morfik uses this application in combination with a specialized file hosting service to speed transfer of the content, worldwide.
There is a code module in this application called Common, which is worth looking into. This module implements a class, called TXAppCookies, to support the usage of cookies in your application. This same class is present in likewise named module of the Issue Tracker application, also figured in a previous review. In both cases, though other specific utility functions were added to the module, this class seems to be the same. Perhaps this class could be added directly to the Morfik framework in a future release.
On the subject of coding, while going over some of the modules for this application, I ran into a nifty little trick. Morfik allows the user to create functions which are entirely written in JavaScript, regardless of the language they are coding in. Both in Morfik Pascal and Basic you can create a subroutine who's body is all JavaScript, but you cannot directly insert inline JavaScript code. By creating a nested JavaScript subroutine, this sample shows how you can execute a single line of JavaScript code right in the middle of your Pascal or Basic code. The following Pascal code snippet shows an example of this.
{................................................................}
Procedure frmHomeMainVideo.FullScreenLabelClick(Event: TDOMEvent);
Procedure StopPlayer(Id : String); Javascript;
(*! document.getElementById(Id).sendEvent('STOP'); *)
Begin
StopPlayer(FlashContainer.Name + '_FLV_player');
OpenForm('frmMainVideoPopup','popup','"prmVideoID=' +
prmVideoID + '","title=' + TitleLabel.Caption + '","modal=true"');
End;
{................................................................}
As nested subroutines are not a common practice in many programming languages, this little trick might not occur to developers coming into Morfik development from other languages and tools.
Overall this sample helps extend quite a bit the base reference you can draw upon when starting to create a new Morfik project. As with the Issue Tracker sample, the difference in size and complexity of the project pretty much ensures that a lot of new insights can be derived from it, if all you previously had to work with were the smallish samples that are bundled with both Morfik 2.0 versions. It should certainly be worth taking off a couple of hours to run the application and browse through its source code.
Labels:
Flash,
Programming,
Samples,
Videos
Friday, April 3, 2009
Sample Review: Issue Tracker
Author:
Mauricio Longo
I'm going to start the series of reviews of the new sample applications, with the Issue Tracker. I chose this application because it clearly has real life applications and as such it seemed like a good place to start looking into what these new samples demonstrate.
Even though this is an obvious difference, the project's size is one of the most interesting aspects as a sample. Due to the restrictions of Morfik's new trial versions, which limit the number of objects in a project, the few bundled samples are quite small. Since these new samples are available only to registered customers, this is not an issue and the Issue Tracker project has 30 forms, 12 tables, 12 queries, 6 modules and 10 web method modules. Reviewing this application you will be able to get a better feel for how to organize a larger Morfik project.
This application has a nice example of how to implement Web Methods directly in code, without the need to create a specific module for each one of them. Despite implementing several Web Methods in the LogonWebMethods module, the Issue Tracker still has ten Web Methods implemented in the traditional way: one per Web Method module.
If you have used the Issue Tracker in Morfik's website, you should feel right at home exploring this application. It is essentially the same application that is used on their website, thought the login form that is used to grant access to all areas of the Morfik website has been replaced by a new one. This, of course, was to be expected.
Another interesting aspect of this application is the small rectagle with an animated image it displays while portions of the interface are loaded. The rectangle itself is created using a container with an animated GIF image and its visibility is controled through some code added to the OnBeginLoad and OnEndLoad events of the IssueTrackerXApp class. These events can be accessed throught the events side panel when in the Project View of the Morfik 2.0 workspace.
Considering its publication as a Sample application, it would be nice to have more comments in the source code, to make it easier for the new users to understand how to adapt the code to their projects. The source code is generally clear, however, and should be pretty much self explanatory to anyone willing to take a couple of hours to read through it.
When all is considered, this is an interesting project to look into, if your are just starting into Morfik programming as it shows some interesting code snippets.
Even though this is an obvious difference, the project's size is one of the most interesting aspects as a sample. Due to the restrictions of Morfik's new trial versions, which limit the number of objects in a project, the few bundled samples are quite small. Since these new samples are available only to registered customers, this is not an issue and the Issue Tracker project has 30 forms, 12 tables, 12 queries, 6 modules and 10 web method modules. Reviewing this application you will be able to get a better feel for how to organize a larger Morfik project.
This application has a nice example of how to implement Web Methods directly in code, without the need to create a specific module for each one of them. Despite implementing several Web Methods in the LogonWebMethods module, the Issue Tracker still has ten Web Methods implemented in the traditional way: one per Web Method module.
If you have used the Issue Tracker in Morfik's website, you should feel right at home exploring this application. It is essentially the same application that is used on their website, thought the login form that is used to grant access to all areas of the Morfik website has been replaced by a new one. This, of course, was to be expected.
Another interesting aspect of this application is the small rectagle with an animated image it displays while portions of the interface are loaded. The rectangle itself is created using a container with an animated GIF image and its visibility is controled through some code added to the OnBeginLoad and OnEndLoad events of the IssueTrackerXApp class. These events can be accessed throught the events side panel when in the Project View of the Morfik 2.0 workspace.
Considering its publication as a Sample application, it would be nice to have more comments in the source code, to make it easier for the new users to understand how to adapt the code to their projects. The source code is generally clear, however, and should be pretty much self explanatory to anyone willing to take a couple of hours to read through it.
When all is considered, this is an interesting project to look into, if your are just starting into Morfik programming as it shows some interesting code snippets.
Labels:
Programming,
Samples,
Web Services
Wednesday, April 1, 2009
Working with the new build and samples
Author:
Mauricio Longo
I just started to work with the new build of AppsBuilder (2.0.5.27) and with some of the newly available samples.
I recommend that, as you start do work with the updated version, you should do a build of your projects, when recompiling them for the first time. If you don't do a full build, you might get some compile time errors. Doing a full build, once, does away with this problem and you are home free.
In the next couple of days I will be doing posts commenting on the some of the new samples, individually. My focus will be letting people know what they can expect to learn, if they dive into each of these applications.
I recommend that, as you start do work with the updated version, you should do a build of your projects, when recompiling them for the first time. If you don't do a full build, you might get some compile time errors. Doing a full build, once, does away with this problem and you are home free.
In the next couple of days I will be doing posts commenting on the some of the new samples, individually. My focus will be letting people know what they can expect to learn, if they dive into each of these applications.
Labels:
M2,
MorfikWatch
Tuesday, March 31, 2009
A new update for AppsBuilder 2.0 is available
Author:
Mauricio Longo
Along with the update to their website, Morfik has made available a new patch for AppsBuilder 2.0.
I have just downloaded the patches for Morfik FX and BX, and though I have not had the chance to install them, from what can be read on the website, this patch should take your build number to 2.0.5.27. This is the build number that appears in the description of the files to be downloaded for trial.
I have just downloaded the patches for Morfik FX and BX, and though I have not had the chance to install them, from what can be read on the website, this patch should take your build number to 2.0.5.27. This is the build number that appears in the description of the files to be downloaded for trial.
Labels:
M2
Morfik updates website and adds new samples and graphics libraries
Author:
Mauricio Longo
The Morfik.com website has just been updated, with the addition of several new samples that can be downloaded. The dowloads page is a available from a small list of links right at the top of the page.
Among the new samples are such interesting items as a videos website such as the one Morfik uses for making available a series of training videos and their own forums system. Checking out these applications should provide a wealth of information and insights to developers interested in extending their skillset.
Additionally, a number os graphics libraries have also been made available in the downloads section of the Morfik website. Both of these sets of items are only available for Morfik users that have subscribed to the Morfik Developer Assist Plus service.
Among the new samples are such interesting items as a videos website such as the one Morfik uses for making available a series of training videos and their own forums system. Checking out these applications should provide a wealth of information and insights to developers interested in extending their skillset.
Additionally, a number os graphics libraries have also been made available in the downloads section of the Morfik website. Both of these sets of items are only available for Morfik users that have subscribed to the Morfik Developer Assist Plus service.
Wednesday, March 25, 2009
Where is the Ajax?
Author:
Mauricio Longo
One of the most telling signs that Morfik is really achieving its goal of making the creation of web applications easy is how little you see the word "Ajax" employed anywhere were Morfik users are involved. I remember telling Fuad Ta'eed, then Business Development Director at Morfik, that "the best way to do Ajax is not to know what Ajax is...". This line has remained in my head since that day and it seems to have been well proven, in the mean time.
Morfik was conceived at a time when there was no such thing as Ajax. In fact, work in the very early stages of what would one day become Morfik AppsBuilder started even before all the technology pieces that would, eventually, be called Ajax where widely available. This way, work Morfik always gravitated around making a very easy to use, RAD, web development tool. This lead to all the aspects of what is called Ajax becoming the underlying plumbing which makes the Morfik Framework work, but with which the developer needs seldom to have contact with.
One of the more interesting aspects of this is that Morfik applications make, probably, the most intensive use of Ajax of any out there, and users don't even think about it. In fact the reason why it is so easy to design pages in Morfik is because it uses Javascript code to exactly position and configure each element within the browser, at runtime. This means that your design is not constrained by what you can represent in regular HTML, because the Morfik Framework will employ runtime manipulation of the page's DOM (Document Object Model) to exactly configure everything to match your design.
Keeping all this in mind, I guess the anwser to the question of where is the Ajax is simple: It's everywhere.
Morfik was conceived at a time when there was no such thing as Ajax. In fact, work in the very early stages of what would one day become Morfik AppsBuilder started even before all the technology pieces that would, eventually, be called Ajax where widely available. This way, work Morfik always gravitated around making a very easy to use, RAD, web development tool. This lead to all the aspects of what is called Ajax becoming the underlying plumbing which makes the Morfik Framework work, but with which the developer needs seldom to have contact with.
One of the more interesting aspects of this is that Morfik applications make, probably, the most intensive use of Ajax of any out there, and users don't even think about it. In fact the reason why it is so easy to design pages in Morfik is because it uses Javascript code to exactly position and configure each element within the browser, at runtime. This means that your design is not constrained by what you can represent in regular HTML, because the Morfik Framework will employ runtime manipulation of the page's DOM (Document Object Model) to exactly configure everything to match your design.
Keeping all this in mind, I guess the anwser to the question of where is the Ajax is simple: It's everywhere.
Labels:
Ajax,
M2,
Visual Design
Thursday, March 19, 2009
Opportunity: Database admin tool for Firebird goes on sale
Author:
Mauricio Longo
It was called to my attention, by a MorfikWatch reader, that Database Workbench Pro, from Upscene productions, will go on a special sale next week. This was born as a Firebird/Interbase administration tool and evolved into a fine tool for developing and managing several different databases.
If you are considering doing some serious database development with Morfik, you might want to check out the product and see it matches your needs for those things you can't do from within the Morfik IDE, such as creating triggers and stored procedures.
To follow up on this and take advantage of a whoping 75% discount, go to their Secret Super Sale page. The one thing I didn't get was why is it called a 'Secret' sale.
If you are considering doing some serious database development with Morfik, you might want to check out the product and see it matches your needs for those things you can't do from within the Morfik IDE, such as creating triggers and stored procedures.
To follow up on this and take advantage of a whoping 75% discount, go to their Secret Super Sale page. The one thing I didn't get was why is it called a 'Secret' sale.
Labels:
Database
Monday, March 16, 2009
Extreme expectations - avoiding frustration
Author:
Mauricio Longo
I had an interesting chat with a fellow developer who was frustrated because he had to do a lot of programming work, in order to create a business application with Morfik. At first I was a bit puzzled, but as we continued to discuss this issue, I started to understand why he was so frustrated.
Morfik AppsBuilder 2.0 has a very slick look. It allows you to do some amazing things, very quickly, with its built-in control effects, thus making it really easy for you to create an impressive looking website quite quickly. This has a side effect. People that start to work with Morfik AppsBuilder (be it FX or BX) start to believe that whatever they want to do, it will always be possible to do it visually and easily. Well, that is not really true.
The fact that AppsBuilder gives you a compiler and an IDE, and not just a framework makes it possible for you to implement pretty much anything with it, but not everything you might want or need is ready built for you. Many times, speacially in areas which are more directly related to your business, you will need to engage in some serious programing and not just screen/page design.
Sure, Morfik's visually oriented design environment and RAD qualities will help non-experienced programmers to create web applications. They will, also, allow experienced developers to create sloppy applications due to their ease of use. This is a temptation that should be resisted, at all costs. It is fine to try to do as much visually as possible, for prototyping, for example, where you are not sure if you are going to keep what you are designing and need to get the prototype out quickly,
It is essential, on starting a new and serious Morfik project, to consider good programming practices and design and plan for it from the start. As with all development tools, when building complex systems, good design and architecture is much more important then the tool itself.
Morfik is a RAD, high productivity tool, but that doesn't mean that you will not be putting in some quility programming time when building a new system. What it does mean, we all hope, is that the tool will be continuously evolving and offering new ways to help you design the best pages and create the best quality code, with the least effort.
If you are new to Morfik and just about to begin your first project, set your expectations to a realistic level. Remember, your application is only going to be as good as you make it.
Morfik AppsBuilder 2.0 has a very slick look. It allows you to do some amazing things, very quickly, with its built-in control effects, thus making it really easy for you to create an impressive looking website quite quickly. This has a side effect. People that start to work with Morfik AppsBuilder (be it FX or BX) start to believe that whatever they want to do, it will always be possible to do it visually and easily. Well, that is not really true.
The fact that AppsBuilder gives you a compiler and an IDE, and not just a framework makes it possible for you to implement pretty much anything with it, but not everything you might want or need is ready built for you. Many times, speacially in areas which are more directly related to your business, you will need to engage in some serious programing and not just screen/page design.
Sure, Morfik's visually oriented design environment and RAD qualities will help non-experienced programmers to create web applications. They will, also, allow experienced developers to create sloppy applications due to their ease of use. This is a temptation that should be resisted, at all costs. It is fine to try to do as much visually as possible, for prototyping, for example, where you are not sure if you are going to keep what you are designing and need to get the prototype out quickly,
It is essential, on starting a new and serious Morfik project, to consider good programming practices and design and plan for it from the start. As with all development tools, when building complex systems, good design and architecture is much more important then the tool itself.
Morfik is a RAD, high productivity tool, but that doesn't mean that you will not be putting in some quility programming time when building a new system. What it does mean, we all hope, is that the tool will be continuously evolving and offering new ways to help you design the best pages and create the best quality code, with the least effort.
If you are new to Morfik and just about to begin your first project, set your expectations to a realistic level. Remember, your application is only going to be as good as you make it.
Labels:
Architecture,
M2,
Visual Design
Saturday, March 14, 2009
Follow MorfikWatch on Twitter
Author:
Mauricio Longo

You can now follow MorfikWatch on Twitter @MorfikWatch. New posts to this blog will appear on Twitter with a delay of about one hour, thanks to TwitterFeed. I have been experimenting with this service for a couple of weeks and it seems to work quite well.
If you already use Twitter to follow other blogs and people, this should make it simpler for you to keep track of new posts as they are published. If you aren't using Twitter, perhaps you should consider it. :-)
Labels:
MorfikWatch
Thursday, March 12, 2009
Morfik advantages that are not so obvious
Author:
Mauricio Longo
Recently I was showing a friend how an application could be developed using Morfik AppsBuilder, when he was called away to look at some deployment issues with a ASP.NET application he developed. Since we were together I started to follow what he had to do to solve those issues and was amazed at how many different problems he was having.
It has been now over a week and he is still having issues with deployment. What really impressed me in this is that it is not problem that is directly related to the application he built. It is a complexity problem inherent to the Microsoft ASP.NET environment. Most of the issues he had were related to environment configuration and component dependency and versioning. He had oriented the support staff to move the application from test to production environment and the it was the differences in configuration between these two environments that caused all the issues.
Of course, a Morfik AppsBuilder application is also dependent on environment configuration, but it has far fewer dependencies than what you get with an application that has been built with Microsoft tools or even with Java. This simplicity makes Morfik-built applications ideal for scenarios where there is a small or no support staff. It also makes them a very good options for deploying to end-user desktop and notebook computers.
It has been now over a week and he is still having issues with deployment. What really impressed me in this is that it is not problem that is directly related to the application he built. It is a complexity problem inherent to the Microsoft ASP.NET environment. Most of the issues he had were related to environment configuration and component dependency and versioning. He had oriented the support staff to move the application from test to production environment and the it was the differences in configuration between these two environments that caused all the issues.
Of course, a Morfik AppsBuilder application is also dependent on environment configuration, but it has far fewer dependencies than what you get with an application that has been built with Microsoft tools or even with Java. This simplicity makes Morfik-built applications ideal for scenarios where there is a small or no support staff. It also makes them a very good options for deploying to end-user desktop and notebook computers.
Labels:
Deployment,
Desktop,
M2
Saturday, March 7, 2009
Morfik Applications and Search Engines
Author:
Mauricio Longo
The same forum post that called my attention to guitaraholic.com also reminded me about how badly websites that are heavy on Ajax perform in regards to search engines. Morfik applications are probably as heavy as you can get on Ajax, considering that Morfik apps are composed of a lot of Javascript and a little HTML.
What this means is that Morfik built applications do not fare well when it comes to having their content crawled by search engines. In fact, this is the primary reason why this blog is implemented using a general blogging service, instead of running on a custom built Morfik application.
Another recent post on the Morfik forums, this one by Aram Mirkazemi, Morfik's founder and CEO, promises some improvements in the area of Search Engine Optimization for an upcoming release. Those of us interested in creating websites, instead of or in addition to web applications, can now cross our fingers and hope that this means the 2.1 release that was also mentioned. This would mean that we could be using Morfik in website building a lot sooner than I had expected.
What this means is that Morfik built applications do not fare well when it comes to having their content crawled by search engines. In fact, this is the primary reason why this blog is implemented using a general blogging service, instead of running on a custom built Morfik application.
Another recent post on the Morfik forums, this one by Aram Mirkazemi, Morfik's founder and CEO, promises some improvements in the area of Search Engine Optimization for an upcoming release. Those of us interested in creating websites, instead of or in addition to web applications, can now cross our fingers and hope that this means the 2.1 release that was also mentioned. This would mean that we could be using Morfik in website building a lot sooner than I had expected.
Labels:
M2,
SEO,
Visual Design,
Websites
A Guitar marketplace built with Morfik
Author:
Mauricio Longo
Recently I had my attention called to a new website that is built with Morfik. The creator of the website posted a link on the Morfik forums and, with my curiosity working up, there I went browsing away to www.guitaraholic.com.
As most people using Morfik AppsBuilder (FX or BX) to build applications, looking over a publicly available website built with it is an interesting experience. The first thing I noticed was that the general color scheme is quite similar to that of the Morfik website. I guess this is not surprising as that is the most wildely know website to be built with Morfik AppsBuilder.
The concept is quite interesting. It seems to be a marketplace where you can enter information about guitars you own and read about the guitars that other people own. As you would expect, you can offer to buy or sell guitars, depending on the level of your membership account.
Guitaraholic offers three levels of membership, a free level in which you can only browse other's people's guitars and publish your own, and two paid levels which allow you to buy, and sell respectively. Not being a musician or guitar afficionado I have no idea of what the market for this is, but it certainly is interesting to visit, if you are considering the development of websites with Morfik.
As most people using Morfik AppsBuilder (FX or BX) to build applications, looking over a publicly available website built with it is an interesting experience. The first thing I noticed was that the general color scheme is quite similar to that of the Morfik website. I guess this is not surprising as that is the most wildely know website to be built with Morfik AppsBuilder.
The concept is quite interesting. It seems to be a marketplace where you can enter information about guitars you own and read about the guitars that other people own. As you would expect, you can offer to buy or sell guitars, depending on the level of your membership account.
Guitaraholic offers three levels of membership, a free level in which you can only browse other's people's guitars and publish your own, and two paid levels which allow you to buy, and sell respectively. Not being a musician or guitar afficionado I have no idea of what the market for this is, but it certainly is interesting to visit, if you are considering the development of websites with Morfik.
Sunday, March 1, 2009
Building a modular XApp with Web Services
Author:
Mauricio Longo
I've recently began work on a new application using Morfik AppsBuilder 2.0. In sitting down to think about how it should work, I quickly came to the conclusion that I should actually break it down into more than one "Web Application" project.
The reason for this was that I wanted this application to publish a standard web services interface so that other systems could send it data updates directly and I wanted my own application to use the same web service entry points to do its data updates. This approach avoids redundant work in creating more than one way to update the data and helps make sure that all updates go through any validation you put in place.
This presented me with the issue of how to access the data for user display, as it seemed obvious that the actual database would reside with the "web services interface" module of the application as it was tasked with updating the data. The solution I came up with was to create an external Firebird data connector in the "user interface" module, that maps the tables from the "web services interface" module's database. This allows me to create forms and queries based on the other module's database and thus normally design the browsing interface for this Application.
The ideal solution for this scenario would have been to use the Web Services data connector and instead of an External Database connector. This would have let me concentrate all data access in the "web services interface" module and actually allowed me to have the "user interface" module build without any physical database knowledge or access. Unfortunately, though the publishing side of things for Web Service Data Sources seems to be working fine, the "client" side code seems to be broken in the Morfik FX 2.0.5.18.
The scenario which I am currently using, though not ideal as one module needs to have access to the other's database, seems to be working out quite well. I've always considered Morfik AppsBuilder a very convinient tool for quickly putting together a set of web services and my recent experiences seem to be only confirming this.
The reason for this was that I wanted this application to publish a standard web services interface so that other systems could send it data updates directly and I wanted my own application to use the same web service entry points to do its data updates. This approach avoids redundant work in creating more than one way to update the data and helps make sure that all updates go through any validation you put in place.
This presented me with the issue of how to access the data for user display, as it seemed obvious that the actual database would reside with the "web services interface" module of the application as it was tasked with updating the data. The solution I came up with was to create an external Firebird data connector in the "user interface" module, that maps the tables from the "web services interface" module's database. This allows me to create forms and queries based on the other module's database and thus normally design the browsing interface for this Application.
The ideal solution for this scenario would have been to use the Web Services data connector and instead of an External Database connector. This would have let me concentrate all data access in the "web services interface" module and actually allowed me to have the "user interface" module build without any physical database knowledge or access. Unfortunately, though the publishing side of things for Web Service Data Sources seems to be working fine, the "client" side code seems to be broken in the Morfik FX 2.0.5.18.
The scenario which I am currently using, though not ideal as one module needs to have access to the other's database, seems to be working out quite well. I've always considered Morfik AppsBuilder a very convinient tool for quickly putting together a set of web services and my recent experiences seem to be only confirming this.
Labels:
M2,
SOA,
Web Services
Friday, February 27, 2009
Obnoxious Sliding Panels
Author:
Mauricio Longo
I use Morfik 2.0 just about everyday. It is a great tool, a great product. One thing I can't stand in the product, though, are those obnoxious sliding panels on the side and bottom of the main window.
Why should things keep moving in my screen when I haven't clicked on anything is totally beyond me. I use a decent computer to run Morfik AppsBuilder 2.0: a Core Duo with 2GB of RAM and a nice enough NVidia graphics adapter with dedicated memory and still those panels are annoying when you are just moving your mouse around and just accidentally happen to move over one of their tabs.
Worse thing is that I see no reason why the panels should not require me to click on them in order to come on screen. If I have to click on a tab to make a panel visible, it stands to reason that they will only appear when I want to see them, while if they just come up whenever the mouse moves over them, they can be triggered accidentally.
The funny thing is that almost everybody I know complains to me about these panels, and I sypathise entirely with them. I hope that in the upcoming 2.1 release Morfik either changes this annoying behavior or at least makes it optional.
What about you? Do you like the current behavior of sliding the panels into view or does it bother you too?
Why should things keep moving in my screen when I haven't clicked on anything is totally beyond me. I use a decent computer to run Morfik AppsBuilder 2.0: a Core Duo with 2GB of RAM and a nice enough NVidia graphics adapter with dedicated memory and still those panels are annoying when you are just moving your mouse around and just accidentally happen to move over one of their tabs.
Worse thing is that I see no reason why the panels should not require me to click on them in order to come on screen. If I have to click on a tab to make a panel visible, it stands to reason that they will only appear when I want to see them, while if they just come up whenever the mouse moves over them, they can be triggered accidentally.
The funny thing is that almost everybody I know complains to me about these panels, and I sypathise entirely with them. I hope that in the upcoming 2.1 release Morfik either changes this annoying behavior or at least makes it optional.
What about you? Do you like the current behavior of sliding the panels into view or does it bother you too?
Labels:
M2
Friday, February 20, 2009
Morfik Reports: a great idea that still needs a little work
Author:
Mauricio Longo
Morfik reports are a great idea! I have lost count of the number of times that some complained to me of how bad a receipt of invoice looked when printed from a browser.
Morfik reports by using Adobe's PDF (Portable Document Format) file format to represent reports allows clear viewing and printing of actual reports, without the default headers and footers added by all browsers. Add to this the fact that you can save, store and email your report to other people and you have got a sure winner for providing lightweight reporting for web applications.
Morfik reports are ideal for generating small printable documents such as invoices and receipts directly from your own web application, without needing to bring in the cost of a full fledged reporting solution, which can be pretty expensive, to the cost of your solution.
In version 2.0 of Morfik AppsBuilder a few bugs seem to have crept into the reporting engine, making more sophisticated reports come out with some issues. Hopefully, most of these issues will be fixed when 2.1 comes out, allowing Morfik reports to become the great tool they have the potential to be.
Morfik reports by using Adobe's PDF (Portable Document Format) file format to represent reports allows clear viewing and printing of actual reports, without the default headers and footers added by all browsers. Add to this the fact that you can save, store and email your report to other people and you have got a sure winner for providing lightweight reporting for web applications.
Morfik reports are ideal for generating small printable documents such as invoices and receipts directly from your own web application, without needing to bring in the cost of a full fledged reporting solution, which can be pretty expensive, to the cost of your solution.
In version 2.0 of Morfik AppsBuilder a few bugs seem to have crept into the reporting engine, making more sophisticated reports come out with some issues. Hopefully, most of these issues will be fixed when 2.1 comes out, allowing Morfik reports to become the great tool they have the potential to be.
Thursday, February 19, 2009
Hosting Morfik applications
Author:
Mauricio Longo
The subject of hosting an XApp came up, recently, in both the Morfik forums and the MorfikDev community forum. This is a very interesting subject which I think merits some consideration.
Morfik uses native binary compilation for its server side components. This makes it an ideal tool for creating lightweight and fast server side processes but it also makes it quite shared-hosting unfriendly. This is a very important fact for when you are designing your commercial roadmap for a business using Morfik.
If you need to have shared-host compatibility, you should be looking at creating purely browser applications with Morfik, where you can benefit from its visual designer and compiler technology and using other popular tools, such as PHP, for the server side programming. Morfik browser applications can be deployed through any server an can issue XMLHTTPRequests against any server.
When you decide to write your entire application using Morfik you need, in fact, to be ready to make, in fact, a commitment to a higher cost deployment environment where you will need to have at least a virtual private server. This kind of solution isn't very expensive these days, but anywhere near the $7 to $10 per month for which you can find shared-host solutions.
Morfik Technologies itself has been developing a special shared-host deployment environment for Morfik XApps, for some time now. A recent post in one of the Morfik forums containing a general roadmap for the near future details that this service should come online sometime in the second half of the year. I guess we'll have to wait and see this service works and performs to know if there is finally a low-cost way of deploying simple Morfik applications.
Morfik uses native binary compilation for its server side components. This makes it an ideal tool for creating lightweight and fast server side processes but it also makes it quite shared-hosting unfriendly. This is a very important fact for when you are designing your commercial roadmap for a business using Morfik.
If you need to have shared-host compatibility, you should be looking at creating purely browser applications with Morfik, where you can benefit from its visual designer and compiler technology and using other popular tools, such as PHP, for the server side programming. Morfik browser applications can be deployed through any server an can issue XMLHTTPRequests against any server.
When you decide to write your entire application using Morfik you need, in fact, to be ready to make, in fact, a commitment to a higher cost deployment environment where you will need to have at least a virtual private server. This kind of solution isn't very expensive these days, but anywhere near the $7 to $10 per month for which you can find shared-host solutions.
Morfik Technologies itself has been developing a special shared-host deployment environment for Morfik XApps, for some time now. A recent post in one of the Morfik forums containing a general roadmap for the near future details that this service should come online sometime in the second half of the year. I guess we'll have to wait and see this service works and performs to know if there is finally a low-cost way of deploying simple Morfik applications.
Labels:
Hosting
Saturday, January 31, 2009
Morfik applications as front-ends for business process orchestration
Author:
Mauricio Longo
Recently, during a meeting with several other people who work with Oracle business process orchestration tools such as BPEL, BPM and OSB, we discussed how you still need to write a customer facing application that interfaces with all the nice stuff you've put together in your service bus. Oracle's BPEL solution for example, makes it very easy to orchestrate a process through a series of Web Service calls, but has not provision for interfacing witth humans. Oracle BPM, on the other hand, does have the provision for creating human interfaces, but not the sort of interfaces you would like to expose to your customers.
This conversation got me to thinking that Morfik AppsBuilder with its facility for easily importing web services can be an ideal tool for creating such customer facing interfaces for business processes which are designed with these tools. It is quite easy to import web services in Morfik and it is, also, quite easy to use them. Morfik even provides a transparent proxy facility through the server side of your application allowing you to call web services from other sources than your own domain, should you desire to do so.
I did a short demo of Morfik, on my EEE PC, for two of the people in the meeting and even though it was running in the extreme conditions of such a tiny computer, both were quite impressed with the potential they saw in the tool. We separated that day right before lunch and when I got to the office after lunch there was already an email from one of these fellows to remind me to send him links and information about the product.
In hind site, it should have been obvious to me that Morfik would have been a great tool for just such a purpose. While developing what came to be Morfik AppsBuilder 2.0, Morfik played a bit around with the idea of orchestrating web methods on the server side in a fashion very similar to that used by Oracle BPEL or BPM to do so. This was eventually put aside as a feature for a future version, but the idea certainly had merrit and seems to be a great fit for the simplicity of web interface building in Morfik tools.
This conversation got me to thinking that Morfik AppsBuilder with its facility for easily importing web services can be an ideal tool for creating such customer facing interfaces for business processes which are designed with these tools. It is quite easy to import web services in Morfik and it is, also, quite easy to use them. Morfik even provides a transparent proxy facility through the server side of your application allowing you to call web services from other sources than your own domain, should you desire to do so.
I did a short demo of Morfik, on my EEE PC, for two of the people in the meeting and even though it was running in the extreme conditions of such a tiny computer, both were quite impressed with the potential they saw in the tool. We separated that day right before lunch and when I got to the office after lunch there was already an email from one of these fellows to remind me to send him links and information about the product.
In hind site, it should have been obvious to me that Morfik would have been a great tool for just such a purpose. While developing what came to be Morfik AppsBuilder 2.0, Morfik played a bit around with the idea of orchestrating web methods on the server side in a fashion very similar to that used by Oracle BPEL or BPM to do so. This was eventually put aside as a feature for a future version, but the idea certainly had merrit and seems to be a great fit for the simplicity of web interface building in Morfik tools.
Labels:
Oracle,
SOA,
Visual Design
Subscribe to:
Posts (Atom)






