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.
Friday, 25 February 2011
OI 9.2.1 - Source Code Management Video
The video is well worth a look if you are an OpenInsight developer and it can be found by clicking here.
Friday, 4 February 2011
OI QSG - The Grande Finale
The 24th lesson (could this now be 'learn OpenInsight in 24 hours') is a feature length lesson in which we look at creating the facility to capture consultations (appointments), hook them up to the Patient window and we create a report for our hypothetical receptionists and doctors to see appointments for any given day.
In this final video (before I look at O4W), the lesson will pretty much summarise the whole series by working with the Table Builder, Forms Designer, Indexes, User Interface Workspace, Scripts and the Report Builder.
I hope that you find the series useful and that this last lesson puts the cherry on the cake.
Thursday, 3 February 2011
O4W 'Run First' Option
The O4W Report tool, in addition to all the flexibility it normally provides the user when generating a report, also allows you to specify a statement to "run first" before any other sort/selection is performed. This can be any R/List command that generates an active list, for example the report designer could pre-select data for particular users, or a particular month, or activate a previously saved list, before the O4W Report runs any user-entered selection criteria. READ ON.
Article first published in the January 2011 edition of the Revelation Software Newsletter.
Friday, 10 December 2010
Long Record Keys and the UD4.6
We were recently approached by a client who had upgraded to the Universal Driver 4.6 and who subsequently ran a long key check against their database. This check reported a number of long keys, but a subsequent attempt to remove them from the system using the removal utility failed. As an example, the error message received when trying to delete the bad records was “Unable to delete “M*15607”, FS100, M*15607”. And the actual key was M*15607 15608 15607 15608 etc…. It exceeded 552 characters.
The reason for this failure is down to the removal utility being run under the UD4.6 is bound by the imposed maximum key length. The Linear Hash Service will also have been generating application event logs on the server’s event log when it attempts to read or delete a long key.
As per the installation guide for the Universal Drive 4.6, the system should have been checked for long record keys ‘prior’ to the installation of the Universal Driver 4.6. The installation of the utility is covered in its own installation guide (Network Driver Update for Large Keys) which is included, along with the file, within the Universal Driver installation zip file.
However, if this step is missed out and it is run after the installation of the Universal Driver and it results in long record keys being found, the following steps can be followed to correct the issue:
1) Ensure that everyone is logged out of the system (all OpenInsight applications).
2) Locate and rename the REVPARAM file/s to something other than REVPARAM.
3) Change the chosen driver back to the 4.5 driver using netdrv.exe, or the previously used driver if you are coming up from an older one.
4) Start the application/s and run the utility to report and remove all of the long keys.
5) Change the chosen diver back to the 4.6 driver using netdrv.exe.
6) Rename your name changed REVPARAM file/s back to REVPARAM.
These steps should allow you to access the application through a single user maintenance mode without using the 4.6 service. The utility can be installed into OpenInsight version 7.x and 8.x systems and it is included in OpenInsight from version 9.1.
Friday, 19 November 2010
Removing Phantom Indexes
Faced with an unwanted phantom index on a table in his application, John turned to the database manager and diving into the Utilities -> Indexes menu, he ran the option to remove the phantom index. However, nothing happened, the phantom index remained.
John then tried to add the index so that he could then remove it. As expected, OpenInsight duly reported that the new index could not be added as one already existed – the phantom index.
John notes that, at this point, you can turn to the help system in OpenInsight. This points you towards the System Editor, in which you can change field 6 from a 1 to a 0, to indicate that no BTree index is active.
However, John has found a neat, quick resolution to the phantom index issue and one that he asked me to share with everyone through my blog. He states:
“To the errant field add an XRef Index. This magically makes the Index editable and removable. So go back in and remove the XRef and BTree Indexes as required.”
I would like to thank John for this contribution and I will welcome any more tricks like this that anyone comes across and who would like to share with my readers.
Thursday, 4 November 2010
O4W and older browsers.
However, being fully Web 2.0 compliant does come at a small cost. O4W uses advanced web technologies to deliver an interactive and dynamic web experience. To fully benefit from this, users and developers should use the most current versions of their web browser. At the time of writing this blog posting, these versions include; Chrome 3, Firefox 3, IE8, Opera 9 and Safari 3.
However, that is not the be all and end all. Developers and users may chose to use older versions of their web browser, but at the risk of reduced functionality. Developers who choose to support these older browsers should undertake their own careful testing of any plug-ins and functionality that their web solutions may rely upon. Minimally acceptable browser versions currently include Chrome 1+, Firefox 2+, IE6+, Opera 9+ and Safari 3+.
As a default, users accessing an O4W based system with an older browser will be presented with a message that their browser is unsupported. They can continue, but the message remains at the top of the O4W forms as a reminder that something might not work totally as expected. This can be seen if you run the Online O4W demo in an older browser or with IE8 running in compatibility mode.
The good new though, is that the javascript to create and display this message is stored in the O4W configuration record and this functionality will be updateable via the O4W Maintenance/Config Records screen in version 1.1 and later.
However, for the moment (version 1.0) developers can disable or modify the message by editing the appropriate CFG_O4W record in the O4WCONFIG table and clearing out or changing field 45 as appropriate. This can be either ‘CFG_O4W’ globally, or
Updating this will be easier from O4W version 1.1 (to be included in OpenInsight 9.2.1). From version 1.1, O4W will have an updatable field via the DB Management, O4W Maintenance, configuration Records, Browsers Tab.
Partial content c/o http://www.revelation.com/ discussion forum.
Thursday, 28 October 2010
ARev32 / OI Hybrid Demo
Whilst a straight conversion leaves you with an ARev32 window that looks and feel just like it does under traditional ARev, an extended conversion can take you ‘a lot’ further.
My new ARev32 demo video (hosted on my YouTube RevSoftUK Channel) takes a quick look at ARev 3.12’s converted SAMPLES application and how it can be run within an OpenInsight MDI frame and then how you can mix GUI and ARev32 windows, including sending information between one and another.
It also takes a look at how ARev32 users can extend the flexibility of the ARev32 system by displaying two or more ARev application screens in their own ARev32 windows – effectively having a Customer screen open with a record and another for the Products record.
Click here to review the ARev32 Demo Video.
Thursday, 7 October 2010
Protecting your sensitive OpenInsight data.
At the time, this was just another useful benefit afforded the Universal Driver for users running Revelation based systems. However, in more recent times we have seen many headlines of high profile individuals and organisations loosing client and other sensitive data – headlines that no organisation can afford to deal with and that often lead to lasting damage to the organisation’s reputation.
If that was not reason enough to take data privacy seriously, organisations now have requirements to protect and audit access to data and this is becoming a more and more common request. For instance, compliance with industry security standards like the PCI DSS (Payment Card Industry Data Security Standard) is now a must have for anyone handling credit card information through their online systems or otherwise.
Revelation has published an update to the original article which covers one method to prevent unauthorised access to OpenInsight’s data held inside .LK and .OV files. Working with OpenInsight 9.2+ and the Universal Driver 4.6 over a Windows 2008 Server and Windows 7 workstation environment (so nice and contemporary) this new article details how to use strict NTFS permissions to achieve peace of mind for developers and end-users alike. After all, if your users can not directly read or change .LK and .OV files, you can audit and protect access to the data using controls that are internal to your application.
The full article can be found on http://www.revelation.com/ at http://tinyurl.com/32lhftq.
Thursday, 18 March 2010
Enhanced TCL
Did you know...
That in OpenInsight 9.2 there will be new TCL softkey functionality and a great new Grid view for list statement output:
- Shift-F1 – Link Multiple Commands (Makevoc)
- Shift-F4 – List Tables
- Shift-F5 – List Volumes
- Shift-F6 – TCL Assistant
- Ctrl-F10 – The Query Table
The query table is a list that stores the last 50 select statements, and their results, run by the system (from TCL) on a particular workstation. Pressing Ctrl-F10 from TCL will provide a list of the past queries, the time and date the query was run, and the number of results returned from the query. Choosing an item from the popup will return the results in an active select list.
Running a List statement with (G (for example LIST INVOICES CUST_NO CUST_NAME INVOICE_DATE ITEMS DESCS (G from the EXAMPLES application) will display the results in an EditTable on the screen. From there you can move columns around, copy the content, or part thereof, to the Windows clipboard and also sort and remove the data.
A complete review of all the new TCL features will be on display at our Conference next month and you can get a taster on my YouTube Channel.
Tuesday, 2 March 2010
Trapping EditTable Mouse Messages
Did you know that from OpenInsight version 9.1 it is now possible to trap mouse messages? Check out Sprezzatura’s latest blog posting for more information and example source code.
Monday, 1 March 2010
Optimise your OI deployments!
There is a very useful discussion on the Revelation Discussion Boards at the moment with regards to Universal Driver and the use of revparam files. If you are involved with deploying application at any level, this is a posting that you’ll want to check out.
http://revelation.com/OIdiscuss.nsf/All+by+Date/159B2E4E0BFD3328852576D6001BF5FF?OpenDocument.
Thursday, 18 February 2010
Reliability and Performance Monitor

Did you know that Windows Server 2008 includes an improved Reliability and Performance Monitor. This useful utility can be used to monitor and check the over all disk activity on your server and you can use it to drill down to see which Revelation Linear Hash files are the most utilised.
Identifying heavily utilised files with slow response times is the first step to determine whether faster solid state drives will be beneficial to your business and this utility can go along way to helping make a better more informed decision.
The Reliability and Performance Monitor can be started by running perfmon.exe on the server.
Tuesday, 19 January 2010
Input controls in an OIPI report.
One of the new features of OIPI.Net is the ability to define input controls (textboxes, radio buttons, etc.) that are created on the form and allow user interaction. The additional Set_Printer messages are INPUT_TEXTBOX, INPUT_RADIOBUTTON, INPUT_CHECKBOX, and INPUT_COMBOBOX.
Below is a sample code snippet:
0002 toolTip = "Enter the last and first name"
0003 xPos = 0
0004 yPos = 3.5
0005 posn = ""
0006 posn<1> = xPos
0007 posn<2> = yPos
0008 x = Set_Printer("INPUT_TEXTBOX", DefaultValue, toolTip, posn)
In addition, did you know that you can now configure the use of OIPI versus OIPI.Net by application, and not just globally. Specific control records can be created in the SYSENV table to fine-tune the control of OIPI.
OpenInsight first looks for:
CFG_OIPI*
then
CFG_OIPI*
and lastly
CFG_OIPI
It is then possible to have users of application "ABC" using OIPI, while everyone else uses OIPI.Net or vice versa.
Field 1 of each control record should be either VSPRINTER for OIPI or VSPRINTER2 for OIPI.Net
Monday, 7 December 2009
Did you know - Background Gradients.
Back in March, I wrote about the new background gradient feature for OpenInsight forms. These enable you to instantly change the look and feel of your OpenInsight application by setting window gradients for the background colour and style of a window, or set a default that runs throughout your application.
These gradients can be set programmatically using the GRADIENTSTYLE and BACKCOLOR properties of a window. In addition, they can be set in the Form Designer by opening the Windows Properties dialog and clicking on the Gradient button located on the right hand side of the dialog box.
However, since that first report, the features has been enhanced to include a drop down list of available Gradient Types on the Gradient Definition dialog box. The list of available types has been extended and now includes: "None", "Vertical", "Horizontal", "Ellipse", "Pyramid" and "Mountain".
When a type other than "None" is selected, the "Grade To Color..." button is enabled. Clicking the button will display the Choosecolor dialog box. Once the Grade to Colour is set, click the OK button. The settings will be stored on the OpenInsight form.
Wednesday, 11 November 2009
Hardening OI Directory File permissions
Several of you have recently asked for details about ‘Hardening File permissions on the OpenInsight Directory’. I am pleased to announce the publication of a comprehensive knowledge base article that details this topic.
Locking down file level permissions on the OpenInsight directory is an important step to ensuring the stability of your application. Improper permissions can allow users to change or delete files - accidentally or intentionally. The ‘Hardening File permissions on the OpenInsight Directory’ Knowledge Base article provides guidelines to secure your OpenInsight directory.
Examples of securing the application at the share level and file level are provided within the article. Each example begins with the creation of the destination directory followed by installing OpenInsight into the newly created location. Establishing the destination directory permissions before installation ensures that the administrator installing the application will have rights to modify it later.
Tuesday, 10 November 2009
RSS feeds on www.revelation.com
The US web site has maintained a number of RSS feeds for sometime, but they have been largely under utilised. This was primarily owing to a login being required to retrieve the feed and, as many RSS readers do not support authentication, this resulted in the feeds being somewhat difficult to access through people’s preferred RSS reader.
Earlier this year, Jared took a look at this issue and he has made changes to the feeds so that they can now be retrieved without the need to login, although a login is still required to view the message content.
At the present time there are feeds for ‘News and Information’, the ‘Online Discussion Forum’ and the ‘OpenInsight WORKS Discussion forum’.
Please also remember to include the RSS feeds for this blog’s posts and comments.
Tuesday, 29 September 2009
I18N round table and RUG meeting
26th October 2009 - I18N round table
27th October 2009 - RUG Meeting
The next Revelation User Group (RUG) Meeting will be held at Revelation’s offices in Ealing, London during the 27th October. The doors will be open from 10:30 for tea and coffee and then we will begin the main meeting from 11:00 sharp. There will be a short lunch break and then we will resume finishing at about 15:00.
As usual, Mike Ruane will be over from the USA and during the Revelation User Group (RUG) meeting he will review the 9.x releases, touch on our plans for 9.2 and future versions and he will also be showcasing a brand new web technology, currently known internally as O4W – OpenInsight for the Web.
O4W is a fully featured online web application development environment providing developers with the fastest and easiest way to get Revelation data onto the web using latest web technologies, such as AJAX, etc. This will be the first opportunity to get an advanced look at the technology within the EMEA region and this is a must see for anyone planning, or even mildly considering, providing a web interface to their applications.
Most importantly, previous attendees have made important suggestions for inclusion in the OpenInsight toolset and many of those have made the next commercial release. The RUG is the perfect opportunity to put your OpenInsight requirements direct to the main decision maker at Revelation.
Reserve your place online now - www.revsoft.co.uk/eventregistration.htm.
Venue address:
45 St Mary's Road
Ealing
London
W5 5RG
England
tel: +44 (0) 20 8912 1000
Thursday, 24 September 2009
Open OIPI report previews maximised
A couple of times recently, I have been asked how to launch the OIPI preview window maximised. I therefore thought it worthwhile to remind everyone that the INIT Set_Printer Message can be used to achieve how the window launches, amongst several other things.
There are nine main parameters, the 5th parameter handling how OIPI launches and what is displayed. The 5th parameters ‘Style’ setting consists of 6 options that you can define in your report. The options are:
- 0 = Print to printer
- 1 = Display PrintSetup
- 2 = Preview normal
- 3 = Maximized
- 4 = Last location
- 5 = Specific location
- 99 = Print to printer with the WMF fix
To launch OIPI maximised you would use something like -
stat = Set_Printer("INIT", "Report 1", title, "", 1, 3)
The INIT message must be called before any printing can start as it controls the initial properties for each printing session. A full list of the properties can be found within the OpenInsight help files, by running a search for “INIT Set_Printer Message” and the help file contain a lot of useful additional information with regards to the INIT Set_Printer Message.
Tuesday, 15 September 2009
RevDotNet QSG video
A couple of new YouTube videos have just been added to the RevSoftUK video library. In addition, a new YouTube Channel has been created bringing all of my RevSoftUK OpenInsight videos together.
The two latest videos are a representation of Revelation’s RevDotNet Quick Start Guide. Split over two videos, the first consists of a presentation that looks at using RevDotNet and a closer look at the API itself. The second video explores the process of using a Calendar .NET control in an OpenInsight 9.1 form.
These videos take a while to put together and I am therefore interested to know whether you find these videos useful or not. For this reason, I have included a poll on the blog and I will be very grateful if you could take a couple of moments to cast your vote. Please also use the comments below this posting to suggest any future topics for videos that you might be interested in.
Friday, 11 September 2009
Did you know - Knowledge Base
Hopefully this will simply serve as a reminder, but just in case you’d forgotten (or never got round to taking a look) the Knowledge Base section http://www.revelation.com/ is just one of several valuable developer resources that Revelation makes available to its worldwide community of developers.
The knowledge base is updated regularly with insightful articles on the use and behaviour of Revelation’s products and it’s worth making a monthly to-do task to check it for new information.
Some recent postings are: