OECGI4 and REST


didyouknowoiOne of the upgraded features of OpenInsight 10 will be OECGI4, the newest version of our web support routines.

One of the enhancements to OECGI4 (available as both a Windows executable for Windows web servers, and as a PHP routine for Windows or Linux web servers) is additional support for some of the less well known “verbs” used in the HTTP/HTTPS protocol. When using OECGI to support or access web pages, the HTTP and HTTPS protocols use the “POST” and “GET” verbs to submit, and request, information respectively. These have been in common use since the World Wide Web first standardized on the HTTP/HTTPS protocols. But in addition to the familiar POST and GET, HTTP/HTTPS defines other verbs that can be useful when writing RESTful interfaces.

REST stands for REpresentational State Transfer, and is in a way the underlying principle of the Web. When a client makes an HTTP or HTTPS request from a server, the response from the server contains not only the specific information needed to answer that request, but also details that the client can use to get more information, all “bundled up” in the answer. For example, when a request for a web page is made, the web page may contain images, or stylesheets, or script calls. The client has no way of knowing, in advance, if there is one, or a hundred, images in the returned page – but the page itself contains the instructions the client can use to retrieve the images, or the style sheets, or the script pages. The page may even include the data and instructions needed for the client to retrieve other pages (via links, or via pagination). Because of its familiarity, this may seem simple and straightforward when it comes to web pages, but the concept (that nothing is “predefined”, but rather everything is embodied in the responses) can be expanded upon to make much more advanced inter-operating systems.

REST can be used, not just for retrieving and updating web pages, but also to enable computer programs, as well as people, to interact with web services. By building a RESTful interface, a web service designer opens up their web site to the possibility of having other software query it for information, or update it with changes, thus allowing anyone else to put different user interfaces (if any!) on these interactions. While not required for REST, using HTTP and HTTPS, and the additional HTTP/HTTPS verbs, is currently the most common way of implementing this.

In addition to “POST” and “GET”, HTTP/HTTPS (and OECGI4) support the verbs “PUT”, “DELETE”, and “PATCH.” In the RESTful programming world, the “GET” verb is used to retrieve information – either about the other available interfaces this RESTful interface supports, or information about specific “objects”. For example, if you were to create a customer maintenance web service, the “GET” verb might be used to retrieve the list of customers, or the information about a particular customer – or the list of commands that can be applied to those customer “objects”. The “POST” verb is commonly used to create new “objects” – in our example, the “POST” verb might be used to create a new customer. “PUT” and “PATCH” both are commonly used to update existing “objects” – in our example, either “PUT” or “PATCH” may be used to change the customer’s phone number (PUT may wipe out any data in fields that aren’t specified, while PATCH should only update the specified fields). Finally, “DELETE” is most commonly used to remove “objects”.

When using OECGI4, you can examine the request parameter to find the “request method” (defined in the INET_EQUATES insert), and – with the appropriate INET_XXX stored procedures – you can begin to implement your own web service.

Interested in learning more about RESTful programming? For additional information, please see the following resources:

http://stackoverflow.com/questions/671118/what-exactly-is-restful-programming

http://blog.octo.com/en/design-a-rest-api/

Confusion & Wisdom


oi10tab1
This again is going to be more of a memory for me, but it will still be useful for those of you working with the OpenInsight (OI) 10 Alpha.  I’m a back to working on an application for one of our Value Added Resellers (VAR) and I’ve been trying to build a dynamic toolbar because the system is mostly operated by touch screen operators.

The current menu is three levels deep and the toolbar is limited in space.  I therefore wanted to have a double toolbar with one row of static buttons and a row below which would change depending on which top level button (menu item) is clicked.  The obvious way to achieve this is a panel with a row of buttons and a tab control.

Now the Tab Control in OI 10 is located under the Containers sub category in the Toolbox.  I therefore thought “Great, I’ll drop the buttons on the tab and all will be good.”  However, the current Tab Control has been specifically designed to operate like the current OI9 Tab Control.  This uses paging Forms and you simply drop the controls on the appropriate page, rather than the tab control.  Dropping them onto the Tab Control is actually impossible because it jumps to page one all of the time.  Nevertheless, thinking that the tab control was an intelligent container, I blindly pressed on, getting myself into a state of confusion.

Five minutes later and Carl put me right.  He explained that the current Tab Control has been written to work exactly like the current one so that people’s upgraded applications will not break – that’s the Wisdom and I really glad that Revelation are thinking about supporting existing application, rather than blindly building new controls for new applications.

All I needed to do was:

  1. Drop the tab control on my form and make it shallow so that only the buttons show.
  2. Drop the buttons (or whatever controls) onto the appropriate pages and where I need them to show on the tab control.
  3. Then the bit I was missing.  The buttons will most likely display under the tab control.  So, click on the button, right mouse click and choose ‘Bring to Front’.
  4. Finally, slide the Tab Control over the buttons to contain them – or give the appearance to contain them.
  5. Add the usual tab control code used in OI9 and you are done.

So, what about a brand new tab control that works as a container and that has pagination, or whatever?  Well, don’t hold your breath, but watch this space.

A few minutes later and I have my working dynamic toolbar.  Now I just need to add some glyph images, some code to launch the associated forms and I’m done :D.

 

OpenInsight 10 – Alpha 7


OI10whiteRevelation have made some good progress with the OpenInsight 10 Alpha and I’m currently working through my bug list and closing a nice number of reported issues from earlier alphas, something that I’ll continue with over the weekend.

In line with their open and transparent policy for OpenInsight 10, they Alpha v7 is now available for download to all Works Members.

The Alpha v7 is available as a full install. So, if you have worked with earlier alpha’s please use the AppBackup facility to backup your old alpha work and restore it into the new alpha.  This is what I do but one word of warning.  If you keep your data, images and other supporting files in a specific folder (I keep things in C:\RevSoft10.6\MDPmyApp) you’ll need to copy that folder from the earlier alpha and into the new alpha once installed.  The app restore will then use the new folder and the restore should run just fine.

This version includes many enhancements to the IDE, Form Designer, Table Builder and O4W, so it is well worth a look and to take the opportunity to report any issues that you find to Revelation and have those issue addressed before Revelation releases the beta.

OpenInsight for Web (O4W) v2.0, included in the OpenInsight 10 Alpha v7, is a rapid application development tool that lets you generate responsive forms, reports, and dashboards.  Use the powerful GUI drag-and-drop to lay out your forms and then test in both desktop and mobile browser mode. Or use the toolset’s full-function API to create the most sophisticated web pages.

Alpha v7 is set to expire on April 4, 2017.

Conference


2016conf

If you are interested in OpenInsight 10 and wondering what the forthcoming conference has on store for you, then you’ll be interested in the Revelation Conference website which is now live.

If you are an OpenInsight developer or a MultiValue developer using one of the main MV tools and you are still not interested and I can’t see why you would, please checkout the conference website and the Topics section specifically before you decline to take advantage of this learning experience.  You just might be missing the opportunity to take your applications to the next level the easy way.

The Revelation Conference is the main event on Revelation’s event calendar and this years event looks to be bigger, better and more appealing to OpenInsight and other MultiValue developers than ever before.

This dedicated website provides you with all of the information that you need about the conference.  It has details about the location (Orlando, Florida), you’ll find out all about the presentations and the absolute wealth of information available, about the speakers themselves and more.

I found the last conference invaluable in preparing me for the forthcoming OpenInsight 10 release and this years event looks to put even more detail into our hands.  In doing so, Revelation are clearly using this major event to empower OpenInsight developers with regards to the new version and help them to become more prepared for the new release and ready for the wealth of change and good things buried on the 1,000,000 plus lines of code that has changed and the numerous new features for both developers and users.

The graphic above uses the word ‘Faster’ and is one of several that I could have borrowed from the new site.  I chose faster because it is something that all of my customers are asking for and I believe that the new version will be faster – both with regards to development and the running of deployed systems.

Want to know more – checkout the Conference website and get your place booked ASAP.

I look forward to seeing you in Florida in April.

BTW – The conference website also includes a downloadable conference brochure and the Early Bird registration is available until February 29, 2016.

London RUG 2015


This week has seen Mike over from the US for our annual get together with some of our VARs from around the UK and Europe.  Much of Tuesday was given over to Mike to talk about where Revelation is currently and the future plans for the company and OpenInsight more specifically.

It will be no surprise to learn that everything is going into the OI10 release at the moment and the toolset has come a long way since I last saw it in Houston earlier this year.  There is still a fair amount to do before we will get our hands on a beta, but it is definitely looking good.

Mike also took the opportunity to talk a little about mobile computing and Revelation will continue to support these devices and environments.  There is a real mix of OpenInsight versions being used in the room, from back to 7.2.2 and right up to 9.4.  However, I was still surprised to find that most of the guys are still running and developing desktop based systems, with little being done on the web and mobile.  We are often behind the US, so I can see the move to mobile happening very soon and I know that we’ll get busy with O4W and OECGI help requests.

We now have some big names using O4W based systems and I learned of yet another big internet name which we hope to be adding to the list shortly.  Working with our VAR and these big names has led to better support for all manner of things, including single sign on, encryption and heavy penetration testing has resulted in a secure and very stable product.  With the design enhancements in O4W’s forms designer, things will take another big jump in OI10.

Wednesday and today have been given over to getting much more into the innovations and enhancements.  These seem even more wide ranging than I remember from the main conference and I am really pleased to be hosting this event to better prepare the attendees of the OI10 Product Awareness Training.  I hesitated earlier this year because we are still a little way off of a beta but we have learned a lot, people are more aware and prepared and I already have had discussions with a few of the guys who have projects lined up for OI10.

There really is a huge amount of benefits for both developers and end users and I would recommend that OpenInsight developers try to get along to similar events that Mike might hold over the coming weeks and months leading up to conference.  These events are a massive opportunity to discuss your needs and problems with the toolset and we already have a growing list of things that the attendees would like in OI10 and some will be pushed to 10.1.  Thank you to everyone here this week for your ideas and useful comments on the forthcoming version.

For us here in Europe, our next opportunity to learn more about OI10, will be the main Revelation conference early in 2016 or when the beta software is finally released.

All I can say is the wait will be well worth it.

Date for your Diary – 29th September 2015


OpenInsight 10 Login Screen

I am pleased to announce that Mike Ruane will be over from the USA for the week commencing 28th September 2015 and this will be a very special week for anyone working with OpenInsight in the EMEA region.

The week is still in the planning stage at the moment and I will be writing to my OpenInsight developers in the region shortly with more details.  However, we plan to hold our usual RUG meeting on the Tuesday morning (29th September 2015) and this will be followed by a very special OpenInsight 10 training session over the next couple of days (afternoon of the 29th and then all day on the 30th September and 1st October).

There was a mountain of information provided at the recent Revelation World Conference in Texas and I hope to share just a small overview of this information during the training sessions on offer.

The plan is therefore to hold the usual RUG meeting during the Tuesday morning, running up to lunchtime.  This will be a free to attend session and it will provide everyone with an opportunity to hear about how Revelation are doing, plans for the future, etc.  I also hope that Mike will provide us with a very brief overview of the OpenInsight 10 release.

Everyone will be welcome to have lunch with us at the conference centre and then we will change from the usual RUG schedule to begin a more in depth look at OpenInsight 10.  This afternoon session and the next two days (Wednesday and Thursday) will be given over to getting deeper into the forthcoming OpenInsight 10 release.  Both Mike and Carl will be on hand to take you through the massive changes to the API, the Presentation Layer and the Universal Driver, as well as Performance Enhancements, new System Admin Tools, etc. etc.  In addition, Mike will discuss the options for the conversion process and how you can have your data tables optimised as part of the process – getting to OpenInsight 10 is not a simple one click upgrade!!!

There will be a charge for the two and half day training session, but based on what I learned at the conference earlier this year, it will be well worth the expense and time.  If you are a professional OpenInsight developer, a professional MultiValue developer or you head up an OI or MV based development team, this is a three day event that you cannot afford to miss.

Granted, you could dive into the beta software or the full release when it is available, but the changes are wide and varied.  For example, Carl alone spoke for over four hours at the conference, covering the Form Designer and Presentation Layer changes.  Mike took the best part of three hours to run through the OpenInsight 10 overview and the conversion process and there were over 20 hours of facts, features, statistics, enhancements and more.

I therefore highly recommend that you consider this training session to make sure that you and your business is best prepared for the new version and that you can get the most from it for yourself, your business and more importantly your clients.

This is the most significant release since Revelation took OpenInsight into the 32-bit world.  Use this one time opportunity to get ahead of the game and be better prepared for this ground breaking OpenInsight release.

To register your interest in either the RUG or the training session (or both), please email mp@revsoft.co.uk.  I am expecting the RUG  places to fill very quickly, so please don’t delay.