New Create User Details function


RTI_CREATE_USER_DETAILS function for OpenInsight 10.0.5 and above.

didyouknowoi

OpenInsight 10 provides support for login policies including locking out of users after a definable number of unsuccessful attempts, password construction requirements, etc. Sensitive data for policy and user information is stored in AES encrypted records.  Policies and users are maintained via the OpenInsight 10 IDE.

OpenInsight 10.0.5 and above introduces a new function called RTI_CREATE_USER_DETAILS that allows developers the ability to create a new user or modify information about an existing user in the OpenInsight database.

Description: Creates a new user or modifies information about an existing user in the current database.

Note:  Only Level 1 (Administrator) and Level 2 (System Administrator) users can create users. Level 0 (User) users can only change their own, existing information.

Syntax: RTI_CREATE_USER_DETAILS(userID, currentPwd, userpassword, fullName, validValue, disabledFlag, disabledDate, disabledTime, resetFlag, userType, userLevel, o4wLevel, expirval, expirdate, errDetails)

Return: “1” if the create or edit succeeded
Value: “” or “0” if the create or edit failed, and additional details are returned in the errDetails parameter.

Parameters: The function has the following parameters.

ParameterDescriptionParameterDescription

Parameter Description
userID A user identifier. userID must begin with an alpha character, followed by any combination of characters, digits, and underscores and cannot include spaces.
currentPwd If enhanced authentication is enabled on this OpenInsight system, then a User-level user who wishes to change any user information must pass in the current password in this parameter. This allows the system to verify that they are authorised to make changes to this user information.
userpassword The new password for this user. If enhanced authentication is enabled, then the password must match the specified authentication policy. If legacy authentication is used instead, the password must be a string of characters, 6 to 20 characters in length, and – if not specified – the default is null, and a password is not required to access the database as this user.
fullName The full name of the user.
validValue This is a user-defined parameter that allows the developer to specify additional information that they would like returned if the user’s logged-in state is queried (for example, to implement additional permission levels and groups). By default, this value is “1”.
disabledFlag If enhanced authentication is enabled on this OpenInsight system, then if set (value is “1”), the user will be disabled; if it is reset (value is “0”), the user will no longer be disabled. If the user is disabled, pass in the additional disabledDate and disabledTime parameters.
disabledDate If enhanced authentication is enabled on this OpenInsight system, and the disabledFlag has been set, this parameter specifies the internal date that the user is disabled until.
disabledTime If enhanced authentication is enabled on this OpenInsight system, and the disabledFlag has been set, this parameter specifies the internal time that the user is disabled until.
resetFlag If this parameter is set (“1”), the user must reset their password at the next login.
userType If this user should only be allowed to access the OpenInsight desktop interface, specify “0” for this parameter. If this user should only be allowed to access OpenInsight via O4W, specify “1” for this parameter. If the user should be able to access both desktop and O4W instances, specify “2” for this parameter.
Userlevel If the user is defined as an OI user, or as both an OI and O4W user, specify the OI permissions level here. There are three levels of users. When the user is logged in, the value is stored in the system variable @ADMIN.

There is no default value for Userlevel. If you do not specify a value, execution fails, and an error is generated.

Value Description
0 User
1 Administrator
2 System Administrator
o4wLevel If the user is defined as an O4W user, or both an O4W and OI user, specify the O4W permissions level here. The valid values for O4W permission groups are customisable on a per-site basis.
expirval Expiration parameter for the password. Possible values are:
Value Description
0 Expires at next login
1 Never Expires (default)
2 Expires at the expiry date
expirdate If expirval = 2, the expiration date (passed as a standard output converted date in a format such as mm/dd/yyyy).  Only required if expirval = 2. Note that this value is only relevant when legacy authentication is used on the OpenInsight system; if enhanced authentication is enabled, expiration will be as per policy.
errDetails If any errors are encountered during the execution of this function, they are returned in this parameter.

 

OpenInsight 10.0.5 now available for download.


OI10whiteOpenInsight 10.0.5 is now available in both full install and upgrade options from the WORKS subscriber area on www.revelation.com.

OpenInsight 10 is Revelation Software’s flagship product that provides modern application development tools for both desktop and web (mobile) based solutions.  With everything on one box, the tool-set is fully integrated to enable very fast and cost effective application development and deployment.  With Git features built right into the Integrated Development Environment (IDE), the tools support individual developers right up to multi-disciplined teams spread across countries around the world.

To find out more about the enhancements in this latest release, please click here for the  OpenInsight 10.0.5 Change Log.

To get a copy of the OpenInsight 10.0.5 evaluation and access to the OpenInsight Quick Start Guide videos, please click here.

 

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.

OpenInsight 10 named in DBTA’s 2019 Trend-Setting Products


DBTA_TSP_2019
You can call it the new oil, or even the new electricity, but however it is described, it’s clear that data is now recognised as an essential fuel flowing through organisations and enabling never before seen opportunities.  However, data cannot simply be collected; it must be handled with care in order to fulfil the promise of faster, smarter decision making.

More than ever, it is critical to have the right tools for the job.  Leading IT vendors are coming forward to help customers address the data-driven possibilities by improving self-service access, real-time insights, governance and security, collaboration, high availability, and more.

To help showcase these innovative products and services each year, Database Trends and Applications magazine looks for offerings that promise to help organisations derive greater benefit from their data, make decisions faster, and work smarter and more securely.

This year their list includes newer approaches leveraging artificial intelligence, machine learning, and automation as well as products in more established categories such as relational and NoSQL database management, MultiValue, performance management, analytics, and data governance.

This year, Revelation Software are proud to have OpenInsight 10 featured in DBTA’s “Trend-Setting Products in Data and Information Management for 2019”.  You can view the full listing, featuring OpenInsight here.

Click HERE for Mike Ruane’s Product Spotlight on OpenInsight 10.

Universal Driver 5.2 released


benchtestresultsUniversal Driver NUL v5.2 for OpenInsight 10 – This is a 64-bit server side installation for use with OpenInsight 10.  The Universal Driver NUL 5.2 allows files from OpenInsight 10 and OpenInsight 9.4 to share the same Universal Driver.  This version has been updated with the latest ACE libraries.

Management of the Universal Driver is done via the Management Console.  When paired with OpenInsight 10.0.4 and above “child” processes launched from OpenInsight can be configured so that they do not consume additional license seats.

Universal Driver NUL v5.2 for OpenInsight 9.4 – This is a 64-bit server side installation for use with OpenInsight 9.4 and a 32-bit client side installation for use with OpenInsight 9.4.  The Universal Driver NUL 5.2 allows files from OpenInsight 10 and OpenInsight 9.4 to share the same Universal Driver.  This version has been updated with the latest ACE libraries.

Management of the Universal Driver is done via the UD Manager.

Software downloads can be found on the Universal Driver page.

Starting the Presentation Server


didyouknowoiWhile most of an application’s configuration information is stored in various application database records, there are some startup options that need to be determined before the actual database can be accessed (i.e. before the OpenEngine virtual machine is loaded).

The Presentation Server can be configured with a wide range of options at startup, via means of an RXI configuration file, and/or a set of command line switches.  Both methods support nearly all of the same options, but any option specified by a command line switch always overrides the same option specified in the configuration file.

Presentation Server configuration (RXI) files

There are nearly twenty options that can be applied when starting the Presentation Server and adding these as switches to a command line shortcut can be a tedious and error-prone exercise. In order to remedy this, it is possible to create an RXI (Revelation Xml Ini) file to store these options instead, where they are read and parsed by the PS during its boot-up sequence.  Read On…

What’s New in OpenInsight 10.0.4


didyouknowoiStarting with OpenInsight 10.0.4, “child” processes launched from OpenInsight can be configured so that they do not consume additional license seats. In particular, CTO, AREV64, BRW, and O4W calls (using the engine server’s built-in web server) made from a copy of OpenInsight will not count against the licensed count of users.

For example, a single user copy of OpenInsight can now run the IDE, a CTO session, and generate a BRW report at the same time.

Note that this enhancement requires both OpenInsight 10.0.4 (or above), and the Universal Driver 5.2 (or above).

OpenInsight 10.0.4 will work with the Universal Driver 5.1, but it will not exhibit these license enhancements until it is
“paired” with a UD 5.2.

To take advantage of this license enhancement for O4W and engine server tasks, users/developers must update their eserver.cfg file (either directly or through the Settings dialogs). In particular, any passwords that are currently explicitly embedded in the eserver.cfg can be replaced with an asterisk (“*”); this indicates that the specific connection should use the enhanced licensing.

This also has the additional advantage of no longer requiring manual updates to the eserver.cfg file when passwords are changed for the applications or users defined in the connection string. (As an additional enhancement, the username can also be replaced with “*” if you wish to use the ‘default user’ created for an application).     

OpenInsight 10 (10.0.4) will be the final version to target Microsoft’s .Net framework version 4.6.  The next version of OpenInsight 10 will target .Net 4.7.

Certain versions of Windows (for example, those running Windows 10 version 1507 or earlier) may have difficulty installing the .Net 4.7 framework.  Before you install the next release of OpenInsight 10, please ensure that all required systems have been upgraded to .Net 4.7.  For more information click HERE.

Click HERE for a copy of the OpenInsight 10.0.4 ChangeLog.

Modernising the writing, debugging and management of Symbolic Code – Scheduled for OI 10.0.4.


youtubeoi10-e1529069260513.pngI was recently working on a new application and I came across an issue with one of my symbolic dictionary items.  The code was pretty simple, but not being a professional developer, I just could not see what the issue was.

Now, I would usually have dropped in a simple debug statement to see what variables were being set when and with what values.  This would have quickly told me where I had gone wrong in my code.  So, I dropped a Debug statement into my symbolic code, saved the table, ran the form and we dropped into the debugger.

Alas, no variable information is displayed in the debugger for the symbolic code and I was none the wiser for my efforts.  Back to the very simple Symbolic Code editor and I had to work things out for myself.  With only three lines of code, I actually managed to find the error pretty quickly, but just imagine if that was a 100 lines of code, a thousand lines of code or more – yes I have seen this on more than a few occasions.

I was talking to Bob Carten during one of our exploratory and (for me) learning sessions and I mentioned how difficult the symbolic editor is to work in.  He laughed and asked if I’d be interested in a new feature coming in OpenInsight 10.0.4 and which specifically addressed my issue.

In fact, Bob told me excitedly that this new method of writing symbolic code, opens up a whole host of other possibilities.  He touched on them, but I am afraid that he quickly left me scratching my head.  For example, why would you want to have a three part conversion, at least that’s what I think we were talking about?  Anyway, that’s for another time.

For now, you can see this new technique in my latest OI10 Quick Start Video which has just finished uploading to my YouTube channel.

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.

 

Elegant debug statements


youtubeoi10.pngI recently uploaded an OpenInsight 10 lesson and at the beginning of the video I talk about a rogue debug statement that I had left in my code in the previous video (on purpose you understand).

Mark Marsh (Professional OpenInsight Application Developer) emailed me with an extremely useful tip to using debug statements in code and which will avoid the issue and embarrassment of leaving a rogue debug statement in your code.  It is also great for those of you with OpenInsight development teams because the trick is user specific.

I’d like to offer Mark a huge thank you for sharing this invaluable tip with me and for enabling me to then share it with you.

You can see the video here and the tip is in the video comments – it’s well worth a look.