Martyn's blog for the Revelation Software community, sharing ideas, news, views and more. NOTE – Views and opinions expressed in this blog are personal and do not necessarily represent those of Revelation Software.

Having made the move to SQL sometime ago, when a Windows interface was required, MVP Software returned to Revelation and their trusted MultiValue technologies through OpenInsight 7.0. Now with a new web interface being the next logical step forward and required by their users, MVP Software looked to O4W when designing and creating their new web application for high school sports management.

As most of your will no doubt know, OpenInsight 9.2 featured release 1.0 of O4W, Revelation latest web authoring tool for Linear Hash and other MultiValue databases.

The release of O4W has been extremely well received throughout the OpenInsight community and Revelation has received a wealth of feedback, both following the commercial release and before that during the beta phase. In fact, there was so much feedback and subsequent development work undertaken that Revelation found it necessary to pause the development cycle of O4W for the OpenInsight 9.2 release at a certain point. This was to enable the company to catch up with the documentation and keep it in synch with the product itself.

Whilst the O4W development was paused and sandboxed for the 9.2 release, actual development of O4W continued right through the beta phase and it continues to evolve for the next OpenInsight release. As we learned at the Revelation Conference a few months ago, this further development resulted in a backlog of features and those are now being included in the forthcoming 9.2.1 release.

It is also interesting to note that, even before the 9.2 commercial release was available, some forward thinking Revelation clients saw the massive benefits and opportunities that O4W offered them and they became early adopters. Revelation created some special O4W cuts for these clients, enabling them to run O4W in earlier OpenInsight versions and to begin using the solution at that time. These were not test systems, most were real-world solutions for their customers and then, once the 9.2 commercial release was available, they were ready to deploy their O4W based systems to their clients.

So what’s in the new O4W 1.1 version?

One of the main new features is the new theme selector. This lets you change the look and feel of your web application on the fly. O4W is tied to Google’s jQuery library and this enables O4W developers to utilise a myriad of available themes. Just by picking a particular theme, developers can change the entire look and feel of their solutions. This is a major benefit to MultiValue developers, as it enables them to build on their years of experience and to couple this with the themes created by jQuery developers and the jQuery community. Together, this enables developers to easily create much more robust and better looking web applications.

In addition to theme support, O4W 1.1 (which will form part of the OpenInsight 9.2.1 release) will also provide Revelation’s OpenInsight developers with the ability to take an existing OpenInsight form (Window) or a report and convert that form or report into an O4W web form or web report automatically. There really will be no reason for Revelation’s exiting developers not to take a look at O4W if they have not already done so, as it will inevitably become even easier to create that all important web interface.

The OpenInsight 9.2.1 release will include many additional O4W enhancements and countless enhancements to the MultiValue application development toolset itself. You’ll need to be on the OpenInsight WORKS program to gain access to these benefits. If you are already a member, simply watch this blog and the Revelation web sites for more information as it becomes available.

If you are not a WORKS member, please contact your local Revelation office for details on how to ensure that you do not miss out on the OpenInsight 9.2.1 and O4W 1.1 beta cycle.

Some of you will have noticed that I recently pulled the 7.2 to 9.2 one hit upgrade from my blog. This has now been released as a pre-release package and it is now available from within the WORKS area on revelation.com.

The release is in response to customer demand around the world for a single update to OpenInsight 9.2 from OpenInsight versions 7.2 through 8.0.8. Please note that this is a pre-release beta upgrade for testing purposes only. If you are currently running version 7.2 through 8.0.8 and you need a supported upgrade path to 9.2, then we recommend applying the individual patches and upgrades, or installing a fresh copy of 9.2 and using APPBACKUP to backup and restore your applications in the new installation of 9.2 – I recently undertook this route (downloading and applying each patch and upgrade in turn) and it only took about 10 minutes or so to apply the patches and upgrades once I had them downloaded.

Alternatively, if you have the time in your release schedule to fully test your applications features on OpenInsight 9.2 before doing the final upgrade, then this one hit upgrade to 9.2 is perfect for your needs.

Revelation will be pleased to hear of any issues from those of you who do opt for the one-hit upgrade and your assistance in getting this to a supported release will be greatly appreciated. Please email info@revelation.com with your questions and comments, or post your comments on the WORKS discussion board on revelation.com. For those of you in the EMEA region, I’ll also be pleased to hear from you and to take your questions and comments.

Whilst in the OI WORKS downloads area, you’ll also notice that Revelation have also recently released a Patch for O4W, names 1.0a. This patch applies to the O4W component that ships with OpenInsight 9.2 and it addresses two issues:

In the O4W form runner, a ‘datepicker’ control generates a browser error when used with European formatted dates.

The URL used by the ‘on-line’ configuration of O4W for loading proper theme has changed.

Slightly later than I’d hoped and indicated in earlier blog postings, but this one WILL be worth the wait for all of you cutting and maintaining OpenInsight code.

One of the major highlights in the next version of OpenInsight will be Version Control, something that I find very exciting, not because I’m a programmer who will use it (I’m not), but because so many of you have asked for this at recent RUGs and road shows around the world. Furthermore, I only saw an early ‘in-development’ preview, but it is clear that Revelation have again listened, researched and are building into the tool the best practice from a whole bunch of products – this is one that you guys are going to love.

So what does it contain at the present time?

Well, the Environment Settings in OpenInsight 9.2.1 include a new switch where the source control can be turned on or off for your system. This provides you with a nice and easy single turn on, as needed. Then the SCM (Source Code Management) option from the SCM menu item in the System Editor ++, provides access to all of the SCM tools.

The first menu item that Mike took me through was the SCM Panel option. This launches a window that provides you with a pick list of your programs (Stored Procedures) and below that the change information for the chosen program. This change information currently includes the date and time, the version and who the program was changed by. If you then select a version, you will be presented with the actual program code towards the bottom half of the window – this displays the program code as it was at that point in time.

However, this window does a whole lot more. There is a facility to delete individual versions (version records that are displayed in the table), or you can select multiple rows and block delete version records. There will also be a facility to select all versions before a certain date and delete all of those. This will help to keep the system refined and clutter free.

If you select two programs, the compare button becomes enabled and the power of this tool really comes into play. You will be presented with two copies of the program side by side, one version to the left and one to the right. Then, the system will colour the code based on the differences between the two versions of code. The colouring is based on ‘what is in the new version and not in the old version’ and ‘what is in the old version and not in the new version’. The system also drops in spacing lines to line up the code and this makes working with the two side by side super simple. As you would expect, these colours for the changes can be changed to suit your own personal preference.

Once you have decided which version you should be using in your application, you simply have to click one button ‘Make Live’ and OpenInsight will use that version.

The SCM menu item also includes a ‘Versioning’ menu item. This module enables developers to select stored procedures in several ways (for example, all entities that have been changed since a specific date and time) and then assign version numbers to those programs. These version numbers are then reproduced on the SCM panel window alongside the program.

If that was not enough, Revelation has also included the ability to create and maintain modules. Choosing ‘Modules’ from the SCM menu in the system Editor ++ will display a window showing all of the modules that you have defined in your system. Modules, are packages of programs and executables that make up a part of your application. For example, I have an email system in my new OI based contact manager. I could create a module called ‘Email System’ and assign all of my programs and executables used to drive that part of my application to that module. It is also possible to assign one program to multiple modules. When you assign source code to a module, OpenInsight will automatically pick up and assign the object code to the module to make deployment super easy.

So, once we have the modules set up and populated with our programs, we can turn to the Deployment Kit (Deploy application button in the Application Manager), create a new Repository View, grab our chosen module and you’ll get all of the procedures and executables that they module needs ready for deployment. Many people ask me how they can easily identify what they need to deploy in upgrades as they deploy upgrades but sometimes miss important entities. Well now, you can create and maintain your modules and never have to worry about missing entities again – assuming you remember to assign new entities that you create to the correct module ;).

I liked what Mike had to show me about the System Editor ++ and QBF enhancements, but this one really blew me away. I’ll be creating some videos on these new features when I have access to the Alpha or Beta. In the meantime, I’ll leave the guys at Revelation to continue finishing these great additions to the forthcoming OpenInsight 9.2.1.

So the second little 9.2.1 teaser this week is something for our OpenInsight developers and it is again something that several of you have asked for at the recent road shows.

Within the System Editor ++ in 9.2.1, Revelation have added a new tab at the bottom of the window for your favourites. At the moment, OpenInsight maintains a list of the last 20 or so programs that you have opened under the File menu as a recent list. However most developers are opening far more programs than this list handles and very often programs that you want to com back to regularly, can get dropped from the list. The ability to save your favourites in the favourites list addresses this issue.

Better still, you can hit the play button on the favourites tab and OpenInsight will open up each of the programs in the Systems Editor ++ for editing in their own tab.

Another tab, entitled Record Info, displays the dictionary information for any field in an open record. You simply open your chosen record and then select the field in the display. The Record Information tab will then display information such as the Field Number, Column Name, Data Type, Heading, Validation, Conversion, Justification, Length and more.

The third enhancement to the System Editor ++ is with regards to Inserts ($INSERT). Whilst it is best practice to maintain your inserts at the top of your programs, it is not absolutely necessary and some developers like to maintain their Inserts as needed (or first needed) throughout their programs. This can make it hard to find those inserts and they can easily be missed if called earlier and used later, or even reused later.

The System Editor ++ in OpenInsight version 9.2.1 now includes a find facility that can be used to find Inserts throughout your programs. This makes checking if they are already called easy and also locating them in your programs a lot easier, especially in those longer programs.

So it is a new week and, as promised, I have the first of three 9.2.1 golden nuggets to tease you all with. The other two will follow over the next three days, leaving the best to last and something that will have many of you beaming like Cheshire Cats 🙂

So, during the recent road shows at which Mike has been presenting, many of you have been asking for the ability to load QBF from an external list. So, OpenInsight 9.2.1 now has a new menu item under QBF called (you guessed it) ‘Load from External List’.

Those of you using TCL within OpenInsight will know that we now automatically save your select statements when they are run from TCL. This list can be viewed from within TCL and the statements run time and time again – a nice time saver for frequently run statements. This list of statements can be accessed from QBF in 9.2.1 via the ‘Load from External List’ dialog window by choosing the Query Table option. The required list is then simply picked from the pop-up and the results displayed as a QBF browse list in the normal way.

The second option from the dialog window is to load QBF from a saved list. The save list is created by users within TCL. Basically they enter a select statement and then save the statement within TCL – nothing new there. However, by selecting ‘Saved List’ in the dialog window, the user can now populate the QBF browse list from one of their saved searches.