This newsletter highlights some of the noteworthy features that will be included in the Spring 2019 m-Power release candidate.
If you’d like to learn more, we reviewed all of these enhancements in a recent webinar. You can watch the webinar replay below:
This feature is designed for the developer who wants to customize maintenance applications with a variety of programmatic elements, such as conditional actions, API invoking, easier error message implementation, or even better server-side error checking. Often times, the solution for these needs was to write external objects. However, the feedback we continually received from our customers was that they want to work in m-Power as much as possible, and not need to resort to writing external objects outside of m-Power. With that feedback in mind, we implemented the Workflow Designer. The designer gives you a graphical interface to load a variety of actions or conditions to control the behavior of the program once submit is clicked.
Below is an example of a configured workflow:
The interface allows developers the maximum amount of flexibility while still being simple to work with. Overall, the use cases for this feature are far-reaching. They can be simple and straightforward: Suppose you wish to conditionally control what error messages are displayed based on one field compared to another field in add mode vs. update mode. Once accepted, you want to send an email or SMS message to the user. Or, they could be more involved: When a maintainer is submitted, have m-Power go out and query all of the users that are included in the category selected but only if the record has been updated. If no records are found, have m-Power throw an error message. If records are found, make an API call to a 3rd party that updates records in the cloud (example illustrated above).
With the advent of this feature, our goal is that m-Power developers find it much easier to build connected web-applications that better meet their specific business needs/rules. Better still, while we typically only add features to our latest class of templates (Bootstrap) we felt this was enough of a game-changer to add support to Sky based templates as well.
The status feature gives developers the ability to add transitions between common milestones in a workflow. Good examples of this could be the evolution of an order (from entry, to processing, to fulfillment, to shipping, to possibly a return). Once configured, the status feature gives developers the opportunity to add buttons, badges, or pull-down options to common pages, which give users the ability to advance a process along the pre-defined path. Developers can specify which user types have control over certain workflow milestones. For example, a manager would be the only user who could authorize a return for an order. Coupled with the workflow designer, developers could trigger actions (such as emails) when statuses are transitioned.
Sometimes developers need to copy a Data Dictionary but don’t want to go through the effort of re-registering all the registered tables, customizing the fields, and setting up the synonyms again. Now m-Power developers can simply choose to copy over this important metadata when copying a dictionary. Please note, applications will not copy over. But, if you choose, you can individually copy over the existing apps just like you can today.
When customizing applications, we here at mrc find the flexibility that Freemarker can bring to our HTML files pretty valuable with minimal code. Still, we do understand that users can feel overwhelmed with having to create these from scratch. With that in mind, m-Painter now has a dialog option that lets you select a block of Freemarker code. Once selected, it will automatically add it into your app for you, leaving you with the opportunity to modify the entry to specifically meet your needs.
In terms of Business Process Automation, our messaging and task feature allows many business critical components to be scheduled/implemented, and then largely forgotten about. And while this has been a fantastic addition to the m-Power eco-system, we have added a small feature that allows developers to be notified if a task is initiated but never finished. While an error highly unlikely, we thought it would bring companies who rely on features like this peace of mind to know that, in the event their is a failure, developers/management can be notified by email.
Deprecation of Licensed Mode Installation
Beginning in May of 2013, m-Power began shipping with an embedded database to store all necessary metadata. This was a departure from the previous method which stored all metadata on your licensed database. At the time, we began having new customers (and existing customers who chose to) use this embedded database. The benefits were numerous, including: fewer issues with permissions on installation, adding new features is easier and fewer prone to error, and the UI is generally faster. From a support, delivery, and implementation phase, we have been migrating customers over to the embedded database as it allows us to have much more stable releases as we can concentrate testing on one database instead of numerous licensed databases types.
To continue this efficiency, mrc will be sun-setting support for licensed mode, targeting full deprecation as of June 30, 2019. Customers are encouraged to migrate their m-Power from licensed mode to embedded mode. Upon successful conversion, customers should not notice any difference in UX. Instead, all of the m-Power meta data will be stored on the m-Power server moving forward, within an embedded database. More information about the embedded database, as well as how to check if you need to convert, can be seen here.
Users who have taken the Dec 2018 update or later and are running m-Power on a licensed installation will see the header bar on the m-Power main menu developer page as blue, instead of the traditional black.
Great Feature You May Have Missed
Implemented in July of 2014, the Extract, Transform, and Load (ETL) feature allows customers who have data located on different servers the ability to work with data across their different environments. Surely you have run into this type of problem before…. you have data that you need to report on but some of the data lives on an MSSQL server in the cloud, while other portions of the data reside on an Oracle server on-prem. ETL helps you manage this by scheduling an Extract from one of the databases, a Transform to group, sum, or otherwise prep the data, and Load to migrate it to your other server. This process is typically scheduled so it can run completely autonomously. More information can be found here.