Moving from Metastorm BPM Version 7 to Version 9
Metastorm BPM has been evolving since its very early days as an Oracle application. It has been a strong leader in the BPM area for over 12 years. It was a market leader in the Web Client arena, and has consistently kept up with and taken advantage of the ever changing technological landscape as it has grown.
Throughout these changes the fundamental ease of use and 'descriptive' Process Design that has made it a favourite of many for many years has been maintained.
The latest incarnation as a fully .Net application and code generator is yet another almost complete makeover, possibly as significant as its transition from Oracle. We've waited a long time for this, but the real question is, are we going to enjoy the same ease of process design and overriding clarity that we have come to rely on, and has been the main strength of the product to date.
In this and the articles to follow over the next few weeks we shall try to give you all the information you will need to answer that question, and, we hope, many others.
Jerome was one of the original development team of the Metastorm BPM product at Metastorm, and has been using it for over 16 years.
He has also written the Metastorm BPM Developer's Guide
Designer User Interface
The user interface of the Designer has been completely replaced. The layout is not dissimilar, however, so existing users of version 7 will not be too lost.
Version 7 Designer
Version 9 Designer
A really nice addition is the themes menu. This has a list of pre-set themes, which are mainly colour settings.
There are, however, differences in the user interface that are worth noting.
imageThe main one is that the areas for creating, editing and deleting scripts are plain by default. Certain themes show them clearly as buttons. We like that and stick to one of those at all times.
imageThe other controls that change are buttons.
Note that this only affects the Designer. The forms are not changed at all.
There is even one Theme that tries to make the interface look like a Mac, which is quite fun!
imageSome also change the rollup button of the Toolbox and Properties Box to the bottom of the list.
All in all there is a great deal of choice. We would also be interested to know if such themes are available from anywhere, or can be easily edited (read: without editing XML).
The main difference is the ribbon menu. I am not a fan of ribbon menus, but I am learning to like them a bit. The idea that everything is visible is nice, and the icons are useful. The fact that they cannot be customised is a pain in my view. I would like to be able to add my own ribbon pane, at the very least, for my own frequent command. The toolbar is too small and far away to be too useful. This is not aimed at the Metastorm BM Designer per se, but at the format in general. My greatest difficulty is learning where everything is all over again. Since so much has changed, that is not an overriding factor in this case.
The Home menu shows firstly all the components you can add to a Project. It does not show Project or Libraries, these are added from the main menu.
The tooltip provides more information, as with all the menu items:
This list can be expanded like so to provide a more detailed description:
Solution Context Menu
There is also a context menu on the Solution Explorer, although we did notice that it does not change depending on what is selected. This can cause confusion as the inserted component may not end up where you expect if you have not selected a suitable container.
Both this and the above menu also regard the component open in the main window as the selected component, not what is selected in the Solution Explorer. This can cause confusion too if you have the default of double-clicking to select the component set.
The remaining menu items are fairly standard toggle buttons and a few dropdowns. We shall discuss each as we use the related components.
The Design menu has items for setting fonts and colours, as well as the styles in the Process Map. It also has the Tab Order toggle for Forms.
The Layout menu is the richest, and probably the most time- saving feature. You can see all the various option, all clearly laid out in our opinion. Never again will I get all my stages and Action clumped together because I can never tell the difference between vertical and horizontal alignment!
The View menu mainly toggles the various panes, and it also opens the few remaining dialogs such as translations.
Grid Tools Menu
When you get to various places in the Solution you will edit items in a Grid. When this happens you get a Grid Tools menu. We have noticed this is not always selected automatically, however.
Reports Layout Menu
Likewise, when you select a Report, there is a Reporting Tools menu.
Script Editor Menu
The Scripting Editor has a very interesting toolbar. This promises to be very useful. More about that when we look at Scripting.
imageFrom the Main menu you can open the most recent files.
imageYou can 'pin' any of these to the list to create a favourites list, as well.
imageThe 'New' menu offers a new Project or Library. These are added to the current Solution. The only way to create a new Solution is to close you file and add a Project or Solution.
imageThe only other submenu is 'Export'. This allows you to export components as components, images or even as Templates (for Forms).
The Import allows you to import Packages, but we are not sure what they are or how they are created as yet. We assume they will be implemented in the full release.
imageThere is also a single toolbar,
imageWith the standard single option to display it below the ribbon.
imageIn the Options you can customise this toolbar by adding all your frequently used commands.
As I usually find, I would like to be able to choose large icons, but this is not possible.
imageAs is also standard, pressing Alt or F10 will show the shortcut keys from there to access each item. This is a nice feature, especially on a laptop with no mouse, I find.
We still have our extensive array of panes. Now we have five main panes, the main window, and several other panes that you use occasionally. The main panes are the Solution Explorer, Toolbox and Properties Box.
The Explorer Pane items are sorted alphabetically, with the exception of referenced libraries. This can make it quite unintuitive. We feel that it should probably be sorted according to branch content, with the most common usage at the top. Historically this has been Maps (Processes), Forms, etc
imageFrom the Solution Explorer items can be selected by double-clicking (this can be set to single-clicking in the options).
Clicking on a container object in the explorer bar does not open the editing window for items that are edited together in a grid, such as connections and roles. We often get caught by that, but it is something we shall learn.
imageFrom the Toolbox items may be selected, and then clicking on the main window adds an element of that type. Alternatively items may be dragged and dropped to the main window.
The main usage is in Maps, Forms and Visual Scripts.
In effect this replaces the Toolbar from Version 7.
imageHere the properties of any element can be edited. There are many types of property, such as the following:
Formula, using the Formula Editor (more later) or Intellisense.
And there are also 'buttons' to create, edit and delete scripts.
imageThe property box categories, like the toolbox, can be rolled up or collapsed.
Unlike other panes, the contents can be sorted alphabetically as well. This may make it easier to find certain properties. But we suspect it will be used only rarely.
imageYou can also se the full description of the selected item in the lower pane. This is very handy and avoid you having to expand the Explorer bar too much when learning to use new elements.
The additional two main panes are:
imagethe Business Objects list where you can view add variables from attached Business Objects, as well as set the parameter(s) for the Business Object to filter the result set,
imageand the Repository explorer. This last I tend to close as I will have one repository almost all the time. We may have three, Development, Testing and Production. Typically we would not allow access to Production from the same PC, but read-only access may be granted. In some strict environments we will have a fourth for integration testing.
Typically we will open the pane separately to use this.
From the Repository pane you can drag and drop libraries to include, or in fact 'reference' in your project. What is not obvious is that you have to drag a version. Dragging the main container seems to work, but it in fact does nothing. We assume doing that should reference the latest version ? at least that would be the result if you followed the Principle of Least Astonishment?
You also have a local offline storage for libraries. This is a neat way to keep your libraries stored offline. The list of services is stored in an XML file in the Designer directory. We hope there will be some way to edit these settings without resorting to editing XML, however!
Overall they are fairly similar in purpose to the same in Version 7, although the Toolbox used to be a toolbar, and serve the same purposes.
We tend to dock the properties box on the left and toolbox on the right for two reasons. Firstly it keeps the properties closer, and that reduces 'mouse miles', and secondly because the toolbox is often hidden, whereas the properties box is not. Keeping the properties box to the left prevents the main window jumping around when the toolbox disappears.
These panes are highly configurable, and they can be moved around easily and safely. A problem with the version 7 Designer was that panes could easily get placed where you did not want, even over the main window. In version 9 this is all better, and you get clear icon markers of where you can dock your panes, and clear indications of where they will end up. This makes learning the placement easy, and prevents many mistakes.
A nice feature is the ability to have two panes stacked vertically. This was not possible before, and allows small panes to be moved to not take up too much room.
imageAll the panes can be toggled from view in the View menu, and all can be unpinned to allow them to slide out when the tab is hovered over, as in version 7.
Additional panes that will not be kept docked are the messages, for validation and deployment as well as a few other occasions, Translations for multiple language editing, and the search pane. Oddly the results of the search pane do not go into the messages window, although they seem very similar in nature. That may be by design or not, but we think the two should be the same.
Obviously, many components are linked in some way. Stages and Actions use Forms, for example. One very neat addition to the user interface is a 'Go to' menu item on the context menu. This allows you to jump from one component to another. In other components there are sub-items in the Explorer bar that lists the instances where this item is used.
Go To menus
Go to menus exist for the following items:
imageAction => Form used in the Action
imageLinked Process Stage => Linked Processes in a sub- menu
imageSub-Process Stage => Sub- Process
imageLinked Process => Parent Processes in a sub-menu
Ones we would like to see added:
Flagged Action => Flag for Action
Stage => Forms used in Stage
Solution Explorer Links
Sub-Item references exist for the following items:
imageForm => Used in Stages
imageForm => Used in Actions
imageRole => Used by Actions
imageRole => Used in Stages
imageRole => Used by Forms
imageRole => Used by Admin Forms
imageRole => Used by Reports
imageProcess => Used by Process ('linked to')
imageSub-Process => Used by Processes
imageFlag => Used in Action
imageForm Segment => Used by Forms (not in referenced libraries)
Ones we would like to see added:
Flag => Used in Visual Script
Visual Script => Used in Visual Script
Connector => Used in Business Object
Business Object => Used on Forms
=> Used in Field
There may well be others we have not discovered, as they only appear when relevant.
It is not immediately obvious, but as you open new components, the old ones are not closed. This means you can easily switch back and forth between two or more components. This is a great time saver for most developers. Notice that unsaved components are marked with an asterisk.
One potential problem, of course, is leaving too many windows open. Fortunately you can right-click on a tab, and not only can you close the tab, you can close all tabs but the current one. We use this a lot, and we are sure it will become very popular.