Monthly Archives: February 2020

C11 update released

Today we are releasing an update for C11. This is a maintenance release with some important fixes and changes, some improvements, and some new features. We’ve added support for the latest ODBC interfaces from Microsoft to the MSSQL driver, added support for the OPT attribute on SQL keys, and optimized the SQL drivers such that setting a filter with INLIST gets converted to “var IN (field, field, …) rather than evaluating the field locally. We’ve also made BUFFER more efficient across all SQL drivers.

But the biggest new “feature” in this release, is that we have integrated the Developer edition of AnyScreen into both EE and PE. AnyScreen is our newest tool for making your Clarion app available for web and mobile devices. The integration allows all Clarion devs the opportunity to see their application running in a Browser. The only restriction in the AnyScreen developer edition is that you can only connect via the local server. If you are interested to see how your app looks when running in a Browser check this post for the details on how to get it running (its very easy).

To review all the changes in this release please check the readme file here

Clarion AnyScreen

AnyScreen is our next generation product for deploying Clarion a application as a web/mobile app. With the addition of AnyScreen your existing Clarion application immediately becomes available on Windows, Mac OS, Linux, iOS, and Android. In other words, it allows your Clarion application to run on any Workstation, Notebook, Tablet or Mobile device.

AnyScreen accomplishes this without you making any changes to your apps (except adding the global template to all the .APPs that make up your application). You also don’t need to know any JavaScript or CSS. It is worth mentioning that AnyScreen ships with several CSS “Themes”, such as; Clarion theme (mirrors the Windows UI), Material UI (Android look-alike), Bootstrap, and Bootstrap ‘outline’. All of these can be tweaked and customized. You also get the built-in support to create totally new CSS themes.

As a developer you don’t need to know JavaScript or CSS, and when you deploy your app using AnyScreen for web/mobile, the end-users of your application won’t need any retraining, because although your application is now running in a Browser, your app UI is replicated exactly like they were running it on their desktop. AnyScreen brings you multi-window support within the Browser. So end-users can open multiple Browses, Forms, Reports, Processes, and any other Windows, and switch between them with a mouse click or a touch to the screen — exactly as they would on their desktop. Here is a screenshot showing what I’m describing:

an AnyScreen app running on Firefox with multiple active windows

For Reports, AnyScreen automatically redirects output to a PDF, and opens the report in a new Browser tab where it can be viewed, saved or printed.

Menus get transformed into a web/mobile friendly React menu with some free extra features to expand or contract all, plus a search function, like these:

AnyScreen is the result of a collaboration between SoftVelocity and Ris – the makers of the thin@ product. Our goals for the project were to develop a system that allows Clarion apps to run as web/mobile apps on any device that can run a modern web Browser, without any changes to the app needed, without requiring any knowledge of JavaScript or HTML5/CSS, retaining all the functionality of the desktop app, and importantly – to run as fast as the desktop application.

The underlying technology in the AnyScreen Server has been in production, supporting hundreds of simultaneous users for several years. The new HTML5 client has been used in a production app, supporting more than 100 users for several months. This is proven tech that has been field-tested in a production application and has delivered great results in performance and stability.

If you want to test your application with AnyScreen follow these steps:

  • Register the AnyScreen.tpl (if you installed C11.13505 into a new folder the template should be already registered. If you installed into an existing Clarion folder then you need to register it)
  • open your APP and add the AnyScreen Global Extension. Do this for all the APPs that are part of your application.
  • Use the Applications Pad to Generate and Make all applications – “Generate and Build All” menu option
  • click the “Run with AnyScreen HTML5” toolbar button
Toolbar button to run in default Browser

You can access the AnyScreen documentation from the AnyScreen drop menu:

AnyScreen Key Features

  • Cross-platform HTML5 architecture that works in all modern browsers
  • Very stable working environment
  • Runs as fast as a desktop application
  • Runs on Windows, Linux, Mac, iOS and Android
  • Identical user interface as in your original application including pictures, icons, menus and all Clarion control types
  • Support for complex ActiveX components (WindowsAPI client only)
  • Support for a number of popular Clarion 3rd party products
  • Multi-threaded application support (allows a multi-window environment inside the web browser)
  • Auto-reconnect option – if you lose your internet connection, or something happens with your network, the client will automatically try to reconnect, and as soon as the network is back you can continue your work without any additional actions.
  • Balanced application load on multiple servers
  • Option to support SaaS (Software as a Service) maturity level 4 support: usage-based billing calculation algorithms integrated into the server allowing you to charge by usage time
  • Add the AnyScreen template to all your .app’s, recompile, and you’re ready to deploy
  • No JavaScript knowledge required
  • Scalable: one server can support ~175+ users (depending on the size of your application)
  • Hand-coded programs require only 2 lines of code to be deployed as a web application

When you decide to put your application on to a production server head over to our shop site and start your subscription!

Here’s some information on the AnyScreen clients.

AnyScreen client options

There are three client options: the new HTML5 client (highly recommended), the WinAPI client, and the Java client.

AnyScreen HTML5 Client

The AnyScreen HTML5 client is written in JavaScript. It makes a Clarion application available to run within any modern web browser on the most common platforms; Windows, Linux, Mac, Android and iOS.

Under the covers AnyScreen uses the ReactJS library to render the applications User Interface (ReactJS is a very popular open source project sponsored by Facebook). And ReactJS + HTML5 makes your application available to run on any system with a modern web browser. The AnyScreen HTML5 Client can also be run as an PWA (Progressive Web Application).

AnyScreen HTML5 is the recommended client to deploy your applications, and is the focus for our future development.

AnyScreen WinApi Client

The AnyScreen WinApi Client is written in Clarion and uses the Windows API to draw the user interface. The AnyScreen WinApi client of course only runs on the Windows platform.

The WinApi client code is open-source. That means any Clarion programmer can modify and recompile the client to suit their own unique needs. For example, you could write interfaces to external devices (scanners, plotters etc.), add custom support for 3rd party products etc.

AnyScreen Java Client

The AnyScreen Java Client is written in Java SE. It makes Clarion applications available inside (and outside) a web browser and on various platforms, including Windows, Linux and Mac.

It uses the Java SE Swing library to render the application User Interface. It can run on any hardware that supports the Java Virtual Machine (JVM). The AnyScreen Java Client can be run in three distinct ways:

  1. Run as a standalone desktop application
  2. as a Java Applet in a web browser
  3. or as a standalone application that is accessible through a web browser using JavaWebStart

***** The AnyScreen HTML5 client requires the latest C11 RTL, the minimum RTL build is version 11.13505