An important date for your diary.


Bob at the 2015 Conference.

Mark your calendars! On Thursday, June 7, 2018 11 am PT / 2 pm ET Revelation Software in conjunction with DBTA will be hosting a webinar on “An Introduction to the Features and Benefits of OpenInsight 10”.

Click HERE to Register for this event.

In April, 2018, Revelation Software proudly announced the official release of OpenInsight Development Suite (OI) 10.0. OI 10 has been re-engineered for 64-bit in this new release. We have rewritten nearly every bit of code in the product, from the interface with the user, to the reporting tools, and the speed of the indexing routines. OI 10 provides the following new and/or improved components:

  • New IDE – OpenInsight 10 includes a brand new IDE, visually similar to modern application development tools, yet still designed for the MultiValue developer. Each of the product’s designers, for forms, tables, reports and all others are now contained into a single, cohesive workspace.
  • Arev64 – The next generation of our Advanced Revelation emulator, utilizing the full power and capabilities of modern 64-bit architectures.
  • User and Data Security – With increased concerns about security and privacy, including upcoming GDPR requirements, a number of enhancements and changes have been made to strengthen data security.
  • Management Console – The OpenInsight Management Console is a browser-based database management tool for system administrators.
  • Git Integration – OpenInsight’s repository based environment is integrated to the Git source code management system.
  • Universal Driver 5.1 – 64-bit and VSS capability.

In this webinar Mike, Bob and Bryan will provide an overview of the new features and benefits of OpenInsight 10.

Advertisements

Pop-ups in OI10


youtube_channel

Sprezzatura recently wrote a blog posting following the release of OpenInsight 10 (OI10) and in that posting was the new way of using a standard OpenInsight pop-up to launch a selected data record.

I’ve had a few people asking for some OI10 videos and someone asked for the new pop-up method to be recorded specifically.  That video is now available on my YopuTube channel at the link below.

Please remember that I am learning fast at the moment, but hopefully the video will help you to use the same feature in your OI10 applications.

Thank you to Andrew McAuley for bringing this feature to our notice and for documenting on the Sprezzatura blog.

Snakes and Ladders


pythonlogo

Over the last year or so, I’ve heard more and more about Python and how development tools need to support the language.  I’m told that students are leaving college with Python experience and it is therefore a great way to bring new, engaging and dynamic ideas into the development community and the MultiValue market could sure do with a dose of that right now.  In addition, some of the MultiValue manufacturers are riding the current wave and actively promoting their support for Python.

Whilst there have been questions from the MultiValue community about who might be using Python, I’m yet to come across many people who have actually taken the plunge and it’s been a largely mute topic within our own Revelation community in the EMEA region – until this week though.

It is no secret that many OpenInsight developers are remaining in position and not moving around too much.  Coupled with the fact that the MultiValue market place is getting older and developers are retiring (it is an inevitable fact), and we find that we need to resource projects from outside of the community.  Just recently Andrew, from Sprezzatura, has completed another series of tutorial workshops for another RevUK client.  Like the previous workshop, this one included a number of highly skilled professional developers from India.  The first OpenInsight VAR was extending their internal team using their own developers in India, this time it was a pure outsourcing deal to expand the development and support resources.

Enter the snake (Python).  Yet another OpenInsight development house looked outside of the community to expand their team and the chosen candidate has been getting to grips with the toolset ahead of starting their position later this week.  As part his first steps with OpenInsight, he asked about support for other database technologies and this week Python finally came up.

It was only to be a matter of time before someone asked me about
OpenInsight and python.

A quick email to support and Bob Carten got back to me with the usual response that I’ve become used to from the OI development team, “Of course we can do that”.

The specific request was whether Python scripts could be easily and reliably called from within OpenInsight using the Quick Event tied to a button.  The pretty straight forward and basic request resulted in a detailed reply from Bob:

“Yes, you can call Python scripts from OpenInsight.  The simplest way is to use the utility ‘RUNWIN’ service:

    cmd = 'py ': quote(filename)
    call Utility("RUNWIN", cmd, 0)

The attached py_shell (Bob included this as a .txt document in his reply email to me) is an example program which would let you pass in the name of a python file or just the body of a python script.  At the end it just calls Utility “RUNWIN”, the rest is window dressing.

However, that window dressing demonstrates some common techniques we use for writing object-ish programs in OpenInsight.  The typical use case for these techniques is creating commuter modules for OpenInsight forms.  We use the term “commuter module” to describe a program which handles all the events for a window.  We have a standard quick event which will call your commuter module.  For a window named “MYWINDOW”, the commuter module is a Basic+ program named MYWINDOW or MYWINDOW_EVENTS, which follows some conventions.  The attached RTI_LH_STATISTICS_EVENTS program (again attached in Bob’s email to me) is an example of a commuter module.  You can cannibalize it for your own modules.  The relevant parts are from line 1 to 81, which is where it implements the “interface” for commuter modules.

See https://www.revelation.com/o4wtrs/KB_Articles/KB1040.htm “

Please drop me an email if you would like a copy of the py_shell.txt and rti_lh_statistics_events.txt files that Bob included in his email.

So that’s the snake, what about the ladder?

OpenInsight 10 is giving developers a real step up the ladder when it comes to Rapid Application Development.  So much is done for you and I find myself simply setting a property in the Property Panel, rather than writing, debugging and maintaining lines of code.  Better still, I’m then using optimised professionally written code and not code that I have cobbled together – well I’m no professional developer.

Anyway, I’m told that support for third party code gets even better in OpenInsight 10 and Bob is using the new technique a lot as part of RTI_GIT, which is one of OpenInsight’s native support programs for Git.

More on that in another posting, coming soon.

OI10 Splitter Bars – Ouch and a smile.


splitterOn the whole, my OpenInsight 10 (OI10) Beta 4 conversion has been a major success and I’m now using the application on a daily basis and working on the UI to make it cleaner using the new tools in OI10.

However, one gotcha which we should all already be aware of, is the splitter bars that were introduced in OI9.  In that version, you simply dropped the controls on the form and it did its best to resize controls (usually edit tables).  The downside for me was a flickering screen as the form constantly redrew whilst the bar was being dragged by the user.

In OI10, Carl has introduced a new ‘MOVE’ event which enables developers to very quickly and easily handle the resizing of the controls to best suit the application.  In my example, I have a form with three panels (Groupboxes) and on each panel is an editable.  The panels are then set to autosize and the following code is added to the upper and lower Splitter Bars to managed the moving of the bars as needed.  The code below is taken from the Upper Splitter bar’s MOVE event.

Declare Subroutine Set_Property

// Adjust the window's controls as the user moves the horizontal splitter bar.

   // Get the bar "thickness"
   barH = Get_Property( ctrlEntID, 'HEIGHT' )
   
   // Get the bar initial position
   barP = Get_Property( ctrlEntID, 'TOP', YCoord )
   
   // Move the bar
   Set_Property( ctrlEntID, 'TOP', YCoord )

   // How far did the bar Move 
   barM = barP - YCoord
   
   // Move the upper panel control
   valPanelUpper = @window:'.GRP_ALF30DAYSPLUS'
   Set_Property( valPanelUpper, 'BOTTOM', yCoord - 4 )

   // Move the lower panel control and reset the height
   valPanelLower = @Window: '.GRP_ALF30'
   Set_Property( valPanelLower, "TOP", yCoord  + barH + 4 )
   
   valPanelHeight = Get_Property(valPanelLower, 'HEIGHT')
   Set_Property( valPanelLower, 'HEIGHT', valPanelHeight + barM )
    
return 1

Disclaimer: The above code is written by me as a non professional developer.  Whilst it works, it is not optimised, does not include any error trapping and does not promote best practice.  The above code includes comments to explain what it does.

I was initially disappointed that I would have to write code to manage the splitter bars, but now that this is done I really like the way that I have control over the controls that move and that the form no longer flickers when the splitter bars are moved.

For more details about OI10 changes, please check out Carl’s OI10 Blog.

 

Alternative Method to Maintain Indices Or Any Other Repetitive Processes


If your site is running an engine server, you can take advantage of the built-in “System Monitor” feature to automate regular processes such as index updates.  If you edit, with notepad or similar application, your engine server’s configuration file (normally eserver.cfg, located in your OpenInsight folder), you may find a line that starts:

System Monitor=

Following the equal sign, you can specify the process you want to run, along with the application, user name, and password where the process should be run (comma-delimited).  Multiple processes my be specified, separated by semi-colons.

You can find out more about this useful OpenInsight feature in the OpenInsight Knowledgebase or by simply clicking here.

OpenInsight Authorisation Process


reauthI have recently been asked several times about the OpenInsight Reauthorisation process, how easy it is to use the process and what issues people might face.

The process is extremely easy when planned for because you have to get everyone off of the system and you need to make sure that there are no locks on the system, services running, etc.

The OpenInsight License Renewal and Installation/Upgrade Authorisation Process .pdf file that is located in the Documents folder under your OpenInsight installation contains ‘full’ details, but I have created a couple of videos and uploaded them to my usual RevSoftUK YouTube channel.

There are two videos.  The short video shows how quick and easy it is to authorise systems when the correct procedure is followed.  The longer video goes into a little more detail about why we need this process and some of the usual gottchas that we come across.  The longer video also has a couple of annotations about running the reauth.exe routine with administrator privileges if users don’t have adequate permissions and also about restarting the OEngineServer and other services that might be needed to run the application.

I hope that these videos are useful to developers and end users when reauthorizing their OpenInsight based systems for the annual renewals and also when adding additional users.

This process is applicable to OpenInsight 8.0.3 to 8.0.8, 9.x and it might be different for other versions of OpenInsight (i.e. the forthcoming OI10).

‘I never knew that’, The Calculator Trick


After a relatively quiet period, it is great to be back blogging again and sharing news and technical content relating to OpenInsight and Revelation Software in general.

OI10 is now just around the corner and I can’t wait for conference in April to see the new features, new look interface and all the good stuff coming in the new version of OpenInsight.

I hope to have more and more information about the new release of OpenInsight over the coming weeks leading up to and following the conference.  In the meantime, it is SRP and Sprezzatura that are keeping me busy with great technical content being published on their sites.

Today it is Sprezzatura’s turn and they have highlighted a little known, but highly useful tip for tracking down OLE errors in OpenInsight applications.

Tracking down OLE errors in OpenInsight can be more than a little tricky at times but last week, the guys learned that this task can be made super simple using the Windows Calculator.  As one of them said following the sharing of this tip ‘I never knew that’ and that is a phrase that I don’t often hear from the Sprezzatura boys.

The article explains how they went from a reported error of ” ” from the third party system (yes, you read that right, in it entirety the error was nothing, nada, zip) to a solution and another happy supported client.

Click here to read the full article.