Ask Reuben
Find and Understand Our Supported Platforms Documentation
Is Genero supported on this particular platform or database?
Where can I find the Supported Platforms and Database Documentation?
I have hopefully timed this Ask Reuben to be published within a day or two of Microsoft ending support of Windows 7 on 14th January 2020, as per the Windows lifecycle fact sheet. When an O/S or Database manufacturer stops support for their O/S or Database, then we also stop support for our products with that particular O/S or Database. We will still quite happily answer any sensible question you have for our product on that O/S or Database, although that answer will most likely contain the word “Upgrade”.
Around this time we will get questions relating to our support of our product on Windows 7. What frustrates our support personnel is when they get questions relating to the supported status of our products and the answer can be found in our Supported Platforms Documentation and should not generate a support call.
Where is the FOUR Js Genero Supported Platforms and Database Documentation?
On both the Download Products or Download Documentation pages of our web-site, the first entry for each release you will see a link to a PDF document labelled “Supported platforms and databases”. The two screenshots below show the location in the Products and Documentation areas of our web-site.
(Before reading the rest of the article, please download an open this PDF, and refer to it as I step through the sections)
Where is the FOUR Js Genero Supported Platforms or Database Documentation for earlier releases?
On the right hand side of the Download Products or Download Documentation pages of our web-site, you will see a title “Archived Releases”. If you click on the Genero link there, and then click on the version you are interested in, you will see a folder named “supported_os_list”. In here you will find the Supported Platforms document that relates to that release as it was. The screenshots below show where the Archived Release is on the Documentation page, (on the Products page you may have to scroll down as there are additional entries above it), and the appearance of the pages that follow.
The biggest hint you should take from this is the fact that this is in a section labelled “Archived Releases”. If you are looking here, that version you are looking at is no longer supported by us and you should not expect any future maintenance releases for that version. Remember for our products, we support the current major release and two previous major releases, so at time of writing for Genero Enterprise that is 3.20 as the current release, and then 3.00 and 3.10 as the two previous major releases. You should observe that these are the only versions available in the normal downloads area.
How To Interpret the First Page of the Supported Platforms Document?
The columns are our various Genero products,
The rows are the various Operating Systems and flavours of them.
Look for a green tick in the intersection of the column that relates to the product you are interested in, and the row corresponding to the O/S.
The careful thing to note with our products is the differentiation between “Genero Studio Client + Server”, versus “Genero Studio”. What you will use depends if you are using a local or remote development environment. A local environment means you should lookup and use “Genero Studio Client + Server” whilst for a remote environment you would lookup and use “Genero Studio Client + Server” for your local machine, and either “Genero Studio Client + Server” or “Genero Studio” for the remote machine.
If you look at the Linux entries you should observe a pattern where products that have GUI components have a different range of supported Operating Systems than those products that don’t have any GUI components. This is due to the glibc library that is required for our GUI components.
What is the meaning of the 7 letter code M64X1012, L64XL212, W64V141 etc?
You will see this same 7 letter code embedded in the filename of the files you download from us e.g. fjs-gdc-3.20.10-build201912041522-w64v141.exe. It ties the support of that package to the download file for that package. You can see the code change for things such as 32 bit vs 64 bit releases (W32V141 vs. W64V141), and different version of libraries such as glibc (L64XL212 vs. L64XL217).
You will also see these 7 letter codes used in the second page with database support.
What does Supported really mean?
It means that in our labs we have that particular server and are able to build releases on that server, QA our releases on that server, re-create and analyse any issues on that server, and hence produce maintenance releases on that server.
Supported also means that if there is an issue, we will endeavour to analyse and deliver a maintenance release if required. I like to relate this to the HeartBleed issue of a few years ago. If a similar issue were to occur at the time of writing then we would endeavour to produce a maintenance release for our supported versions (3.20, 3.10, 3.00). If you are using 2.50 or earlier, then the resolution would be to upgrade to 3.20, you should not expect a 2.50 or earlier maintenance release. (Update April 2022: we also saw this again with the recent log4j issue, there were maintenance releases for 4.00, 3.20, and 3.10 which were the supported releases at the time of that issue )
What is the meaning of that note about Linux distributions?
That note reads …
Please be aware that support for Linux distributions is limited to those listed above. While Genero 3.20 is known to work on most major distributions, issues specific to a particular distribution will not be prioritised before issues tied to the listed distributions per processor types. For graphical Genero tools like GDC and GST, Four Js supports the following Linux Window(s) Managers : Gnome 3.2 and Higher and KDE 4 and higher. Some other Window(s) Managers are known to work, but issues specific to those will not be fixed.
… and it can be understood best with relation to the paragraph above about what supported really means. We don’t have every flavour of Linux in our labs, similarly we don’t have a Citrix server in our labs, we don’t have every browser in our labs, and we don’t have every type of iOS/Android device ever made in our labs.
I find it easiest to explain with relation to Citrix, if our product runs fine on our target Windows PCs and Servers, but there is an issue on Citrix, then this is an issue for Citrix to fix, not us. So same about Linux distributions, if our product behaves on our target Linux servers, but it does not behave the same on a different flavour of Linux that is marketed as 100% compatible, the issue is with that flavour of Linux not being 100% compatible, not with us. The onus is on you to work with that manufacturer to resolve the incompatibility, not for us to workaround their incompatibility.
How to interpret the second page about databases.
The second page of the Supported Systems Document relates to databases and has a similar concept to the first. However confusingly the row of the first page relates to a column in the second page …. Columns have the 7 letter code that you can take from the row on the first page. Essentially “X86_64 64bit – glibc 2.12 and higher – OS code ” does not fit in a column, but “L64XL212” does. Rows are the combination of the Database Server AND Database Client.
The important thing to note is that the Database Client forms part of the support equation. It is more correct to say we support database clients than databases, we communicate with the database client, it is upto the database client to then communicate with the database server. This is most evident with the generic ODBC database client through which we can communicate with any other ODBC compliant database. You should also observe that for the Microsoft SQL Server entries, there are different database clients depending on the Operating System.
You will note that the green ticks and white spaces are a bit more haphazard on this databases page. This reflects the availability of the database clients on various platforms.
It is also interesting to note that the protocol to communicate with the Informix database client remains the same and we can use the same Genero database driver to connect to the various Informix database clients, whilst with other database a different Genero database driver is required to connect to the newer database clients. A testament to the original Informix architecture.
How to interpret the third page about Genero Mobile
The difference between the Development and Build sub-columns relates to wether you are simply communicating with the Genero Mobile for Anrdoid or Genero Mobile for iOS client for testing and running your application, or wether you are building a .apk or .ipa file for deployment onto the physical device.
The key thing to note with the two red crosses in the bottom right corner, is that you can develop for iOS on Windows/Linux but when it comes to building an .ipa file to physically install onto an iOS Device, you need a MacOS PC/Server somewhere in your development environment. So if you don’t use a Mac, you can use a Windows or Linux Desktop to do the bulk of your mobile development, but when it comes time to move past testing in development mode, and to build and deploy your app onto a physical device, you will need to use a Mac to build the .ipa for deployment.
The other key point about Genero Mobile development is you should always be using the latest version. As I write this, Genero BDL latest version is 3.20, Genero Mobile latest version is 1.40, and those are the versions you should be using for your next Genero Mobile deployment. Just because you originally deployed the app with Genero BDL 3.00, Genero Mobile 1.20 does not mean those are the versions you should use for an App update. An App update should be using our latest versions.
How to interpret the fourth page about Browsers
Similar to the note about Linux distributions, we test against the latest version of a finite number of browsers, Firefox, Chrome, Edge, Internet Explorer, Safari, and the native browser on mobile devices. The Genero Browser Client should work on other less popular browsers, but we do not necessarily have them in our labs to build, QA and test against.
How to interpret the fifth page about Java
The Genero Report Engine (GRE), Genero Ghost Client (GGC), Genero Application Server on Java (JGAS), Genero Mobile for Android (GMA) and the use of IMPORT JAVA with Genero BDL all utilise Java. This section outlines the flavours and versions of Java that we test this with, and you will need one of these on any server utilising these products or features. Important thing to note is we test against Oracle Java, and OpenJDK. and we test against the Long Term Support versions, so at present 8 and 11, not the rapid release versions 9 and 10.
The Appendices – End of Life
The Appendices contain details about when manufacturers stop support for their O/S and Database. When known we include a date and a link to the supporting document. The Topic Du Jour as this article was written was the end of support for Windows 7 and Windows 2008 R2. You will see in the date column, the value of 2020-01-14, and in the URL columns links to pages such as https://support.microsoft.com/en-us/help/13853/windows-lifecycle-fact-sheet and https://support.microsoft.com/en-us/lifecycle/search?alpha=windows%202008%20r2.
We are listing the date we believe the manufacture will end support and linking to the document that supports this. As a general rule of thumb we do not support our product on O/S and Database that are no longer supported by their vendor.
New Versions
A question on the support desk we get asked relates to recent releases of Operating Systems or Databases and them not appearing in this document. Please allow us a little time for us to run our QA tests on a new release before we update the supported systems document. We would normally aim for our next maintenance release after the release of the new Operating System or Database.
Summary
Hopefully the above helps you understand the Supported Platforms and Database document. I’ll end with a little tip. When you ask a support question, don’t ask “Is Genero supported on this platform …”, phrase the question as “In the Supported Platforms and Database document I cannot find an entry for this platform …”. This tells me that you have attempted to look in the Supported Platforms and Database document before asking us the question.