Elkie catches up with Mike


1P7A8552

Following our recent announcement of the release of OpenInsight 10.0.7, Elkie Holland from Prospectus IT Recruitment recently caught up with Mike Ruane to talk about this new release.

The new version includes many customer requested features and enhancements for both OpenInsight developers and MultiValue developers more widely.

You can read Elkie’s report of the catch up at https://www.prospectus.co.uk/blog/2019/09/catch-up-with-mike-ruane-and-all-things-revelation

 

 

 

Advertisements

Sorry


PropertyGrid2Someone asked me a couple of days ago, why I have been so quiet on the blog, etc.  The truth is, that I have been heads down for the last few months building a new system for a client.

This system is taking all of my time (including a lot of my personal time) and finding time to update the blog has come second place.  No excuses, that is just the way that it is.  So mixed with OI development, photography gigs and sleep, there has been little time for anything else.

That said the project is coming along well and I continue to be amazed at what a junior application developer can achieve with OpenInsight 10.  Yes, I continue to make mistakes but I continue along the learning curve and things are definitely getting easier and quicker.

A fun week playing with the Internal 10.0.7 pre-release.

Just this week, I was given access to the internal 10.0.7 pre-release.  The subsequent testing had me find a small bug and yes, I did do something unexpected, and yes, I am that monkey and if you give me a nice shiny new gun, well, I ‘will’ shoot myself.  Anyway, this has given me with a few minutes to take a step back and catch up with the blog and other things.

However, despite the bug (which has already been diagnosed and fixed) 10.0.7 looks to be another big step forward and it is definitely getting to the point (in my opinion, it’s there now) where existing OpenInsight , ARev and MV developers more widely should be taking a close look at using OI10 modernise their development and their systems.

Lots of data to capture in a single form? OpenInsight 10 has the prefect solution.


PropertyGrid1I occasionally have people ask me about user interface design from an end user’s point of view and mostly this is when a developer is tasked with capturing a very large amount of data, needing lots of controls, in one logical place.

Often, it is possible to break up the required data into bite sized chunks, or to categorise it somehow and then present their data controls as a smaller subset on two or more forms.  Sometimes, probably more often than not, it makes sense to break up the form using the tab control and display these subsets of data controls over multiple pages.  This is something that I have done a lot in my demo applications.

However, I am told that this is not always possible and I have seen data entry forms with hundreds of controls, split over countless tabs.  I recently heard of one OpenInsight based system where a control limit had been reached, forcing a rethink of how the data was to be presented to the end users.

Now, I am currently working on a ‘real world’ application that also demands that, on several of the data entry forms, I need to be able to display and capture hundreds of data fields.  For the form that I am currently working on, this means nearly 400 hundred data items and this translates to well over double that number of controls to be maintained on the form.  AND, I can find no logical way to split these controls over multiple forms 😦

A form with this number of controls means that I had a massive tab control and a form running over 20 or more pages.  From a developer’s point of view, this results in a very cumbersome form to manage and maintain at design time.  For example, how would I easily add in new data prompts without having to spend a large amount of time moving controls around to make the new items fit my already crowded forms?   Worse still, it resulted in a very difficult to navigate form for my users.  Yes, they could probably learn where everything is over time, but in the interests of providing my users with an intuitive display from day one and a far easier to navigate user interface, I had to find another method.

So, following a quick prompt from Carl, I took a look at the brand new Property Grid control in OpenInsight 10.  This is not yet data aware (and I’m not sure of any plans to make it data aware), so there is a code to be written behind the scenes for my use of the control, but it was definitely the perfect solution.

So what did I build to get over this large number of controls issue?

PropertyGrid2

As you will see in the data entry form above, I have managed to reduce the tab count to just 12 tabs.  Although this is still quite a lot, they make sense because most of these will be displaying related data from other data tables.  For example, a list of actions to be undertaken or that have been completed with dates, status and notes, or viewing details.  These will be largely edit tables, one on each tab.

The main tab reduction was achieved through the use of the Property Grid, displayed on the right of the form.  When the user is on the Summary tab (shortly to be renamed), the property grid maintains a few hundred property details that were originally split over numerous tabs.  This data is now displayed in a easily navigable, collapsible, categorised list, enabling the user to show and hide data as required.

When designing the Property Grid, the OpenInsight developer is presented with 29 pre-defined control options that are embedded in the new control.  Things like Dialog, Static and colour pickers, right through to combo boxes, file pickers and more.  The user’s choice is then displayed in the grid and it is pretty easy to them pick up those values and save them to the database.  It is also super quick and easy to add in new data items and to have them display under the correct category.

The Property Grid control is fully documented in the ‘OpenInsight 10 Presentation Server Reference Manual’, but writing data to a cell in the grid is just one line of code.  In the example below, valPropertyStatus contains the data to be written and “Property Status” is simply the name that you have defined in the Property Grid row when you built out the various rows.  It really is that easy, no messing around trying to work out in code which cell or row you are in, you simply use an ‘English’ name.

 Call Set_Property_Only ( CtrlEntID, "VALUE", valPropertyStatus, "Property Status" )

Now, as I might have mentioned earlier, the Property Grid is not yet data aware, so you will need to get these data changes and write them to the data record yourself.

However, I have taken a slightly different approach.  I am not a professional OpenInsight application developer, so I in no way suggest that this method is right and proper but it works for me.

As shown in the image below, I wanted to have collector windows for ‘each’ of the data items in the grid.  This enables me to provide my users with a consistent and easy to navigate solution.  It enables me to present my users with all manner of data controls in easily built and maintained collector (dialog) windows.  In the example below, when the user clicks on the Vendor cell (a button displays), the user is presented with a collector window with, not only the vendor’s name, but also their contact information.  This includes the email address and if the user clicks the blue text, OpenInsight will open up the user’s default email client and drop in the vendor’s email address.

PropertyGrid3

You will notice that the orange Record ID box displays the Record ID.  This will be made invisible for the beta, but it is displayed for development purposes at the moment.  This Record ID is passed to the collector window from the calling window and the record is automatically read and displayed for editing.  When the user has made their changes, the data is immediately written to the record.

When the data is saved and the collector window is closed, the Property Grid is updated to display the new value, or values.  In the case of a collector window with multiple data items, I have chosen the best piece of data to display.  In the example above, this is the Vendor’s name.  In some other instances, I have used three dots (. . .) to indicate that there is data to be viewed.  This solution is used when no single data value works.

A nice, easy and good looking solution.  

Now, those of you that are professional developers and observant, will have noticed a flaw in my design.  If I am passing in a record ID, what is to stop the user from saving a value from the Property Grid without a valid Property Record?  This could quickly result in useless data – property characteristic details without a property address and other meaningful data to readily identify the property,

This issue is addressed by simply checking for a valid record on file when the Property Grid is accessed. If there is no record yet saved to file or it does not meet my requirements of having a valid address, access to the Property Grid is blocked, a message is displayed and the message and collector window closes when the user clicks the message’s OK button.  i.e. the user cannot add data to the grid without a valid record being already saved to disk.

PropertyGrid4

Yes, the method that I am using is a little more complicated than just allowing the user to change the data in the Property Grid and have that data saved when the main save button is pressed.  And, I’ll probably allow that as an option further down the line.  However, I’m pretty pleased with this solution and it is definitely making it easier to develop and use my application.

Oh, and for those of you that think creating and maintaining many collector windows is long winded and time consuming, this is actually pretty quick and easy.  I simply:

  1. Use a template window – So, Open and Save As.
  2. Use a template Commuter Module which prompts me for certain bits of information which are dropped into the code automatically and then this is compiled and saved.
  3. Test run the window and add any additional event code that might be needed.

I am not saying that this is the right, recommended or perfect solution but if you would like to see this in more detail please comment below and I’ll look to put a video together with a look at the Property Grid working and the code used behind the forms.

 

How To Deploy OpenInsight 10 To Your Customers


How To Deploy OpenInsight 10 To Your Customers

didyouknowoi

Deployment in OpenInsight 10 is significantly different from prior versions.  Because system information is now encrypted on a per-system basis, you must tell the copy of OpenInsight 10 that you are changing the serial number (which is used in the encryption process) ‘before’ you change it.  Failure to do this will result in a system that cannot be accessed (until you put the original serial number back into the system).

The steps to making a deployment as you want are as follows:

  1. Request, and receive, the new authorisation code from Revelation Software with the new serial number and new number of users.
  2. In your “master” OpenInsight 10 system, in SYSPROG, go to the Settings/Users/Policy Setup menu choice in the IDE.
  3. In the policy configuration window, check the box “System Deployment Preparation” and press the OK button.
  4. In the Serial Number Entry dialog that appears, enter (and re-enter to verify) the new serial number you obtained from Revelation Software and press the OK button.
  5. Remove or change as appropriate the REVPARAM file from the cloned copy of OpenInsight before deployment.
  6. Clone your copy of OpenInsight.

On the client system, your steps will be as follows:

  1. Copy in the cloned copy of OpenInsight.
  2. Update the license information with the new authorisation code/serial number/number of users (see below).
  3. Run the clientsetup.exe routine found in your OpenInsight 10 folder.

At this point, your client’s copy of OpenInsight should be ready to run.

To update the license information, you have two choices.  In the cloned copy of OpenInsight, you can start up the system with your ‘original’ authentication (just by starting up OpenInsight normally), and then go to the Settings/Application Settings menu in the IDE, and choosing “License Renewal”.  You will be prompted to enter the new authorisation code, and (after confirming that the entered information is correct) you can save the new authorisation information, shut down OpenInsight, and restart OpenInsight.  You’ll find that the system is now running with the new serial number/number of users.

Alternatively, if you wish to ship out systems without your authorisation file in it, you can use the (non-GUI) routine to create the new authorisation file.  This step can be done on your ‘master’ copy of OpenInsight, before deployment to the client system.

Open up a DOS command prompt, and “cd” to your OpenInsight 10 folder.  Type in the following:

REVAUTH OI <authcode> CLIENT.LIC

Where <authcode> is replaced with the authentication code you received from Revelation Software (which I believe you can put in quotes).  So for example, you will type something like this:

REVAUTH OI "xxxxx-xxxxx-xxxxx-xxxxx-xxxxx-xxxxx" CLIENT.LIC

If there are any errors, revauth will respond with “Invalid code entered: <errcode>”. Otherwise, it will create a valid license file named CLIENT.LIC.  Take that CLIENT.LIC file, and copy it into your “cloned” system, RENAMING IT TO REVENGINE.LIC.  This will then become the license/authentication information for the “cloned” copy, and you should then be able to install that copy as outlined above.

Please remember to run the clientsetup.exe after copying in the cloned copy.

First published on www.revelation.com

OpenInsight 9.4 “Roll Up” Patch v5.1 released


OpenInsight 9.4

Revelation have recently released a brand new roll up patch for OpenInsight, taking the series to version 9.4.4.

This patch includes additional fixes to RTP16 (xlate), all the patches and fixes from the previous “Roll Up” patches, as well as:

  • An updated datatbl.dll and oinsight.exe to fix changes in how Windows displays forms.
  • A fixed DICT_MFS_BUILD to ensure that associated group names are included when a dictionary’s %FIELDS% record is rebuilt.
  • A fixed RTP16 (XLATE) to restore previous functionality when explicitly passing a null in parameter 5.
  • An enhancement to OIPI (VSPRINTER1) to improve performance.

After installing this patch, your system will report that it is running version 9.4.4.

This zip file contains an updated RevelationDotNetSetup.msi, RevelationDotNetSetup.exe, revjapi.dll, OESocketServer.jar, OInsight.exe and an OpenInsight RDK, for use in OpenInsight 9.4.0 systems.

This patch replaces the original “Roll Up” Patch v1 released on March 3, 2016, the second “Roll Up” Patch v2 released on March 8, 2016, the “Roll Up” Patch v3 released on June 13, 2017, and the “Roll Up” Patch v4 (and v4_1) released on January 5, 2018, and includes all the previous fixes for OpenInsight 9.4.

Works Members can download this patch from the Works Downloads section of our web site.

Catch Up Time


Firstly, I am sorry for having been so quiet recently.  As many of you will know, I have been heavily involved with learning OpenInsight 10, planning and then producing the OpenInsight 10 Quick Start Videos.  I have now produced and published 46 individual lesson videos on my OpenInsight 10 YouTube Channel and I still have reporting and a few other topics to cover over the next few weeks.

However, I wanted to share some wonderful news that came to my attention a couple of weeks ago.  Every year Database Trends and Applications (DBTA) publish their annual industry awards and this year OpenInsight 10 was voted the Reader’ Choice Award Winner in the Best MultiValue Database category.  This is quite the accolade considering that OpenInsight 10 has only been released for a very short time and it is a very welcome acknowledgement of the fantastic work undertaken by Mike, Carl and the whole developer team at Revelation Software.

If you would like to experience OpenInsight 10 for yourself, please drop me a line via www.revsoft.co.uk and I will get back to you as quickly as possible with details of the OpenInsight 10 evaluation.

 

Increased OpenInsight 10 WORKS User Count


didyouknowoiThose of you that have been watching my initial OpenInsight 10 videos, will not have failed to notice the OI Management Console and the tools that this powerful feature brings to all OpenInsight 10 (OI10) Systems Administrators.

Not only does it expose some really useful information and statistics, as well as much easier remote configuration, but it makes administering a live system so much easier through the brand new Command Channel.  The guys at RevUS touched on this in their recent Introduction to the Features and Benefits of OpenInsight 10 Webinar and I show working it in my video which provides a Quick Overview of OI10.  Jump to around 12 minutes and you’ll see the Management Console running as an O4W application in the built in OI10 browser on screen.

Anyway, interest in the Management Console was high following the Webinar and a thread appeared on www.revelation.com with regards to some people having trouble running the Management Console and needing a 10 user O4W license to run it.  Whilst running it online is super useful and convenient because System Administrators can access the Management Console from anywhere in the world and at any time, some people might just want to run it locally from their desktop using their OI WORKS license.  This is how I ran the system in the videos.

Even in this local based setup, O4W and the Management Console consumes an additional license, or two – it’s the nature of O4W.  Now, I’ve sat in many a presentation for software where the vendor says “Hey, we have this amazing module, it’ll change your life and that of your users.  Ohh, but it’s going to cost you …”.  Heads quickly fall like a child being offered a big bag of colourful sweets, only for the parent demanding a week’s worth of chores to be completed before access is granted to the bag of sweets.

Revelation Software have once again shown its ongoing commitment
to its OI WORKS community.

It looked like Revelation Software were heading down this same route, but, true to form, Bill told me about an OI WORKS discussion forum posting from Bob Catalano over the weekend.  In the posting, Bob confirms that the Management Console will not function with the usual 2 user OI WORKS license and because of this a decision has been made to increase all existing 2 user WORKS licenses to a 3 user license.

This is brilliant news, it shows Revelations commitment to its highly valued OpenInsight WORKS community of professional application developers and it provides yet more value from the, already, invaluable WORKS subscription service/license.  However, those of you opting for the cheaper NUL based license for your developers will need to look at increasing your NUL license accordingly and in the normal license increase manner.

If you are an active WORKS subscriber looking to work with OI10, please log into WORKS and head over to the WORKS forum for further details on claiming your new OI10 authorisation key.

If you are an expired OI WORKS subscriber or wish to get onto OI WORKS to gain access to OpenInsight 10, please contact your local Revelation office and one of us will be more than pleased to discuss your needs.