+ All Categories
Home > Documents > Technical Overview Museo Ferrari - REweb S.r.l. · Technical Overview Museo Ferrari Maranello June,...

Technical Overview Museo Ferrari - REweb S.r.l. · Technical Overview Museo Ferrari Maranello June,...

Date post: 07-Feb-2020
Category:
Upload: others
View: 7 times
Download: 0 times
Share this document with a friend
106
Genero Entreprise 3.10 Technical Overview Museo Ferrari Maranello June, 19th 2017
Transcript

Genero Entreprise 3.10 Technical Overview

Museo Ferrari Maranello June, 19th 2017

Four Js Products Reminder

3

Build and generate business applications accessing and updating databases Build and generate graphical reports or publications For business applications OS agnostic / database agnostic Develop once and deploy everywhere

Four Js Products Overview

Page | 4

MAIN

DEFINE

custarr DYNAMIC ARRAY OF RECORD

c_id INTEGER,

c_name VARCHAR(50),

c_ts DATETIME YEAR TO SECOND

END RECORD

DEFINE

where_clause STRING

OPTIONS INPUT WRAP

OPEN FORM f1 FROM "form1“

DISPLAY FORM f1

LET custarr[1].c_id = 123

LET custarr[1].c_name = "Parker“

LET custarr[1].c_ts = CURRENT YEAR TO SECOND

LET custarr[2].c_id = 124

LET custarr[2].c_name = "Duran"

LET custarr[2].c_ts = CURRENT YEAR TO SECOND

DIALOG ATTRIBUTES(FIELD ORDER FORM, UNBUFFERED)

CONSTRUCT BY NAME where_clause ON cust_id, cust_name, cust_state, cust_city, cust_zip-code

ON ACTION clear

CLEAR cust_id, cust_name, cust_state, cust_city, cust_zip-code

END CONSTRUCT

DISPLAY ARRAY custarr TO sr.*

BEFORE ROW

MESSAGE SFMT("Row: %1/%2", DIALOG.getCurrentRow("sr"), DIALOG.getArrayLength("sr"))

END DISPLAY

ON ACTION fetch

DISPLAY where_clause -- Execute SQL query here to fill custarr ...

ON ACTION close

EXIT DIALOG

END DIALOG

END MAIN

● Fourth Generation Language ● reliable, easy-to-learn high-level

programming language ● Clear yet powerful syntax ● Embedded SQL statements for

database access ● Localization to follow a specific

language or cultural rules ● Keywords based on Informix 4GL

Genero Business Development Language (BDL)

Page | 5

● OS agnostic ● Database agnostic ● Graphical layout agnostic ● Connected

DVM

Genero Dynamic Virtual Machine (DVM)

Page | 6

● Code independence from graphical rendering

● XML based ● Modify dynamically the

graphical layer ● Separation of the business

logic from the Interface logic

Genero Abstract User Interface(AUI)

Page | 7

Windows

Linux

Mac

● QT based ● Supports common GUI widgets ● Native GUI Style ● Unicode Support

Genero Genero Desktop Client (GDC)

Page | 8

● Delivers Genero Applications ● Creates relationship between front ends and

DVMs ● Manages pool of DVMs ● Simplifies the deployment of applications

Genero Genero Application Server (GAS)

Page | 9

Genero Genero Browser Client (GBC)

Genero Browser Client

(GBC)

HTML5, CSS3,

SCSS, NODE.JS,

SASS, GRUNT,…

Infinite customization

Mobile devices

Supports recent browsers

RIA

Page | 10

Genero Genero Browser Client (GBC)

Page | 11

Genero Mobile

Native DVM

iOS, Android

One source code for

90% marketshare

Native GUI

Connected mode

Disconnected mode

Embedded SQLite

Database sync.

JSON, RESTful services

Page | 12

Genero Mobile Native DVM iOS, Android

Page | 13

Oracle

IBM Informix

IBM DB2

MS-SQL Server

SQLite

Open Source

DVM

GAS

HTTPD

Database

Server

Application

Server Mobile Device

App.

GUI

Genero Mobile Connected Mode

Page | 14

Mobile Device

DVM

App.

GUI

SQLite

Genero Mobile Disconnected Mode

Page | 15

● Interoperability in SOAs ● Integrated in the language ● Generation of consumers

and providers from WSDL ● HTTPS, HTTP Authenticate,

XMLSecurity, Proxy, Certificates

Genero Genero Web Services (GWS)

Page | 16

● Single source code stream supports multiple databases

● Inline SQL embedded in the code

● Multiple, simultaneous, native drivers

● Adaptation guides per DB

Genero Open Database Interface (ODI)

Page | 17

Genero Operating system agnostic

One binary fits all

Compile once

Deploy anywhere

Reduce lifecycle development costs

HAL

Page | 18

Oracle

IBM Informix

IBM DB2

MS-SQL Server

SQLite

Open Source

DVM

GAS

HTTPD

Database

Server

Application

Server WorkStations

Inte

rnet

Local N

etw

ork

Browsers GDC

GDC ASCII

WS Consumer

App.

Genero Architecture

Page | 19

Create, Debug, test, preview business applications

Manage projects (PM)

Design Databases, Forms, Reports, Business Logic, Web Services

Team Work

Work locally (recommended) or remotely

Applications Modeling (BAM)

Windows, Mac, Linux

Cross-Language

Genero Studio

Page | 20

DB Meta schema Design Forms Edit code Create Reports

Debug apps Manage Projects Files & Dirs Team work (SCM) Diff

App Generator SOA & WS Help Profiler Business Application

Code Analyzer

Genero Studio

Page | 21

Oracle

IBM Informix

IBM DB2

MS-SQL Server

SQLite

Open Source

DVM

GAS

HTTPD

Database

Server

Development

Server

Development

WorkStations

Local N

etw

ork

Code

Genero Studio Architecture

GST

Server

GST

Client

Page | 22

Oracle

IBM Informix

IBM DB2

MS-SQL Server

SQLite

Open Source

GAS

Database

Server

Source Versioning

Server

Development

WorkStations

Local N

etw

ork

Code

Genero Studio Architecture

GST

"Full"

DVM

Subversion

GIT

Page | 23

● Enterprise Reports ● Streaming Architecture ● Scalable ● Dynamic Layouting ● Maintainable ● Output Formats: Excel, Word, RTF, PDF,

HTML, SVG, …

Genero Report Writer

Page | 24

DVM

Genero Report Designer Templates

Business Development Language Reports

SQL

GRE

Server

SVG .pdf XML

Datastream

Client

GRV

Paged Document

DATA BASE

Genero Genero Report Writer RDBMS

Genero Report Writer

Page | 25

Genero Report Writer

Page | 26

Genero Ghost Client 1.00 GGC

Genero Ghost Client for

Unit tests

Load tests

Performance tests

DVM

DVM

DVM

GDC

GBC

GGC Scenario

DVM

GAS

Four Js Products Genero 3.10

28

• Modernize your code

• Import modules

• Public / Private modifiers

• Callback functions

• Dynamic Dialogs

• Open to technologies

• Built-in Web Components

• Docker

• MTOM / swaRef

• Chromium 56

Genero 3.10 Be ready

29

• Secure your app

• security.PBKDF2

• security.BCrypt

• Quality / Testing / Deploy

• Genero Ghost Client

• Trace code

• Code Coverage

• GDC auto update

• Enhance UI

• Stretchable scrollgrids

• Web Components

• Cordova API

Genero 3.10 Be ready

Four Js Products Genero 3.10 in detail

31

CONSTANT Define program constants

TYPE Define user data type structure

TRY … CATCH … END TRY Handle exceptions raised by the DVM

TextEdit html style Rich text

DIALOG.setSelectionMode Multiple Selection

IMPORT FGL Program module dependency

Web component Add JavaScript to widgets

Drag&Drop Drag & Drop event

Summary Line Aggregate values for table columns

Frozen columns Horizontal fixed columns

Prior to BDL 3.00 Reminder

32

Sub Dialogs Dialog modularization

com.HTTP* HTTP compression support

com.TCP* TCP client network operations

com.APNS* Apple Push Notification Service

util.JSON* Convert program values to/from JSON

security.* Cryptographic features

xml.signature XML signature

xml.CryptoKey Symmetric and asymmetric keys

SQLite SQLite database embedded

Prior to BDL 3.00 Reminder

Page | 33

Developing the future

with Genero

Genero BDL 3.00 Reminder

IIF(), NVL() Shortcut operators

Built-in search Search values in arrays

fgldb -p process-id Attach debugger to a running program

os.Path.makeTempName Create a temporary file path

TTF icons Low weight images

Resizable SCROLLGRID WantFixedPageSize=no

ON SORT Sort control block and methods for arrays

ON TIMER Execute code at regular intervals

base.sqlHandler Dynamic SQL cursor

Dynamic Dialogs Create dynamic dialogs on the fly

Page | 34

Developing the future

with Genero

Genero BDL 3.00 Maintenance updates

JSON and NULL elements fglcomp option

frontcall support

Table style attribute

GBC style attribute

Page | 35

Developing the future

with Genero

Genero BDL 3.00 Maintenance updates

JSON stringification method to omit NULL elements util.JSON.stringifyOmitNulls()

fglcomp option to avoid source name in the .42m module fglcomp –omit-source-name module.4gl

standard.openfile frontcall supported with GDC and GBC standard.feinfo frontcall new parameter dictionariesDirectory

Table style attribute allowWebSelection

GBC style attribute browserMultiPage

Page | 36

Developing the future

with Genero

Genero BDL 3.10 Form files

TABINDEX values must be unique DOUBLECLICK attribute supported for ScrollGrid

NOTEDITABLE attribute for TEXTEDIT fields

TAG attribute for SCREEN section

INITIALPAGESIZE for SCROLLGRID AGGREGATE fields supported with any item type

PLACEHOLDER attribute, hint text in input fields

Page | 37

Developing the future

with Genero

Genero BDL 3.10 Language

ON CHANGE block in CONSTRUCT dialog FOCUSONFIELD attribute for DISPLAY ARRAY

Dynamic dialog creation ui.Dialog.createInputArrayFrom()

ui.Dialog.createInputByName() ui.Dialog.createDisplayArrayTo()

ui.Dialog.createConstructByName()

ui.Dialog.createMultipleDialog()

ui.Dialog.setActionImage(), ui.Dialog.setActionText(),

ui.Dialog.setActionComment()

ui.Dialog.setArrayAttributes()

Page | 38

Developing the future

with Genero

Genero BDL 3.10 Language

Hash map utility class util.hash Dynamic Array copyTo() and search() method

base.Channel.openFile() writes to stderr base.Channel.openFile("<stderr>","r")

Bit-wise operation and hexadecimal/binary string conversion on INTEGER values

Page | 39

Developing the future

with Genero

Genero BDL 3.10 Language

Defining the localized string lookup path when program starts Variable definition attributes for JSON serialization: json_null,

json_name

Resource files are searched in the directory where the main

module is located Simplified FUNCTION definition with parameter type

declaration inside the braces

bold attribute in table cell attributes

ui.Form.displayTo()

Page | 40

Developing the future

with Genero

Genero BDL 3.10 Language

XML transformation following XSLT xml.XSLTtransformer class

CreateFromDocument()

setParameter()

getParameter()

clearParameter()

doTransform()

getErrorDescription()

getErrorsCount()

Password-Based Key Derivation Function 2 (PBKDF2) security.PBKDF2

security.PBKDF2.generateKey()

security.PBKDF2.checkKey()

Encrypt passwords with Bcrypt security.BCrypt

security.BCrypt.generateSalt()

security.BCrypt.hashPassword()

security.BCrypt.checkPassword()

Page | 41

Developing the future

with Genero

Genero BDL 3.10 Language

Utility methods for INTEGER type variables util.Integer class

abs()

and()

andNot()

clearBit()

not()

or()

parseHexString()

parseBinaryString()

setBit()

shiftLeft()

shiftRight()

testBit()

toHexString()

toBinaryString()

xor()

Page | 42

Developing the future

with Genero

Genero BDL 3.10 frontCall

Support also RECORD and DYNAMIC ARRAY as input and output parameter

ui.Interface.frontCall( "standard", "feInfo",

["userPreferredLang"], [fe_lang] )

ui.Interface.frontCall("localStorage", "clear", [], []) ui.Interface.frontCall("localStorage", "getItem", [key], [value])

ui.Interface.frontCall("localStorage", "keys", [], [key-list] )

ui.Interface.frontCall("localStorage", "removeItem", [key], [])

ui.Interface.frontCall("localStorage", "setItem", [key,value], []) ui.Interface.frontCall("standard",

"openFiles",[path,name,wildcards,caption],[result])

Page | 43

Developing the future

with Genero

Genero BDL 3.10 Debug / Command line

GUI log file name with process id --start-guilog="myfile-%p.log"

Program execution trace (fglrun --trace)

Source code coverage tool (FGLCOV/fglrun --merge-cov)

fpi fglgar included in FGLGWS packages

Page | 44

Developing the future

with Genero

Genero BDL 3.10 Style

calendarType dropdown or modal for DATEEDIT objects thinScrollbarDisplayTime for Window objects

Window attributes actionPanelButtonSize and

ringMenuButtonSize support em unit

textEdit attribute customWidget not required with GBC

Window attribute commentPosition is deprecated

Page | 45

Developing the future

with Genero

Genero BDL 3.10 WebComponents / JavaScript

gICAPI.onFlushData() gICAPI.onStateChange()

FGLDIR/webcomponents Set of common webcomponents

fglrichtext

fglsvgcanvas

fglgallery

Default location

Page | 46

Developing the future

with Genero

Genero BDL 3.10 ODI

Microsoft SQL Server 2016 / ODBC 13 dbi.database.dbname.connection.identifier = "identifier-

string"

FreeTDS 1.00

snc.widechar Oracle DB proxy authentication

Oracle 12c for macOS

IBM DB2 LUW 11.x

MySQL 5.7 PostgreSQL 9.6

MATCHES converted to SIMILAR TO expression for PostgreSQL

fgl_sqldebug()

Change driver behavior with /* fglhint_* */

Page | 47

Developing the future

with Genero

Genero BDL 3.10 Web Services

xml_ignoreunknownelements xml_ignoreunknownattributes

XMLNillable type attribute (xsi:nil="true")

Message Transmission Optimization Mechanism (MTOM)

com.HTTPServiceRequest.getURLHost() com.HTTPServiceRequest.getURLPort()

com.HTTPServiceRequest.getURLPath()

com.HTTPServiceRequest.getURLQuery()

com.HTTPServiceRequest.findRequestCookie() com.HTTPServiceRequest.setResponseCookies()

com.HTTPRequest.setAutoCookies()

com.HTTPServiceRequest.setResponseCookies()

Page | 48

Developing the future

with Genero

Genero BDL 3.10 Web Services

com.HTTPRequest.setProxy() com.HTTPRequest.setProxyAuthentication()

Online Certificate Status Protocol (OCSP) FGLPROFILE entries: security.global.ocsp.enable

security.global.ocsp.url

WSHelper.4gl SplitUrl(),

FindQueryStringValue(),

SplitQueryString()

Page | 49

Four Js Products Genero Desktop Client

Page | 50

Developing the future

with Genero

Genero GDC 3.00 Misc

Import previous configuration IPv6 support

Configuration files saved in User folder

Chinese translation

URL based web component support Copy paste values from non-editable fields

fgltty based on Putty 0.65

Page | 51

Developing the future

with Genero

Genero GDC 3.10 Misc

Moved to QT 5.6 Chromium 56

Debug Web Components like in Chrome

Better support of Javascript

Auto Update of GDC

Through a BDL application

Archive files can include custom files

Page | 52

Four Js Products Genero Application Server

Page | 53

Developing the future

with Genero

Genero Application Server 3.10 Misc

GWC-JS renamed as GBC

GBC no more embedded in GAS packages but in FGL

j2eedispatch removed (see jGAS)

REPORT_REMOTE_URL_PREFIX to set the URL to GRE server

Desupported proxies gdcproxy and html5proxy removed

GAS in a Docker container

GWC_JS_LOOKUP_PATH renamed to GBC_LOOKUP_PATH

res.gbc.deployment points to deployed GBCs

fglgar moves to FGLGWS

fglxslp removed

Page | 54

Developing the future

with Genero

Genero Application Server 3.10 gasadmin

Administrative command for the Genero Application Server

Display GAS version information

Specify the GAS application directory

List all sessions

Stop sessions

Validate the GAS configuration

Ping active sessions

Manage archive files

Manage Genero Browser Clients deployed in the GAS

Page | 55

Developing the future

with Genero

Genero Application Server 3.10 deployment service portal

http://host:port/ws/r/services/DeploymentService/html

Page | 56

Developing the future

with Genero

Genero Application Server 3.10 Delegation

DELEGATE specifies the Genero REST service in charge of starting requests for applications

<EXECUTION>

<PATH>$(res.path)</PATH>

<MODULE>myApp.42r</MODULE>

<DELEGATE service="MyGroup/MyDelegateService">

<anyparameter>MyFirstParameter</anyparameter>

<other>MySecondParameter</other>

</DELEGATE>

</EXECUTION>

Page | 57

Developing the future

with Genero

Genero Application Server 3.10 JGAS

GAS written in Java

Same functionnalities than GAS

Different architecture

Designed to run on Java EE servlet

JDK 1.7+

Packaged in FGLGWS package

Replaces j2eedispatch which is removed from GAS

Page | 58

Developing the future

with Genero

Genero Application Server 3.10 JGAS

Use fglgar to create J2EE war packages

war packages include:

Genero applications

Environment settings

Resources files

GBC

Java EE

Server

generoApp1.war

generoApp2.war

...

Page | 59

Four Js Products Genero Browser Client

Page | 60

Developing the future

with Genero

Genero Browser Client 1.00.14 Aka GBC

Replace Genero Web Client for HTML5

Less load on server (CPU, memory, …)

Same HTTP protocol than GDC

Only works with FGL V3

Use standard technologies like CSS/Less, JQuery, Handlebars

In PER Files

Page | 61

Developing the future

with Genero

Services comparable to GDC

Application and window navigation

Welcome page with bookmarks and history

Debugging: AUI tree, VM protocol

Genero Browser Client 1.00.14 User Interface / New ergonomics

Page | 62

Developing the future

with Genero

In short term, same features as GWC-HTML5

Customization Framework

Project $FGLASDIR/tpl/fjs-gwc-js-xxx-project.zip

Tools npm, Bower, Less, Node.js, Grunt, …

Genero Browser Client 1.00.14 Infinite customization

Page | 63

Developing the future

with Genero

Support of Canvas elements

Support of setvar and getvar front calls

Genero Browser Client 1.00.16 Misc

Page | 64

Developing the future

with Genero

Support of Richtext style

Support for right-to-left languages

Resources like images can be referenced through a path

relative to index.html

Genero Browser Client 1.00.19 Misc

Page | 65

Developing the future

with Genero

Grunt command supports multiple customization folder

Genero Browser Client 1.00.21 Misc

Page | 66

Developing the future

with Genero

Support for Firefox

Support of browserMultiPage style

Genero Browser Client 1.00.29 Misc

Page | 67

Developing the future

with Genero

Support for Mobile Safari (iOS)

Support for Mobile Chrome (Android)

Genero Browser Client 1.00.31 Misc

Page | 68

Developing the future

with Genero

scss variable gbc-toggle-right-sidebar-min-width Browser window width size (in pixels) for the left side bar to appear.

Use this setting to hide the left side bar

Genero Browser Client 1.00.35 Misc

Page | 69

Four Js Products Genero Ghost Client

Page | 70

Developing the future

with Genero

GGC included in FGLGWS package

New scenario generator, GhostGenerator class

Creates scenarios from guilog

Launcher class -td / --thread_delay

Delay between launch of GGC sessions

Genero Ghost Client 3.10 Misc

71

Four Js Products Genero Mobile

Page | 72

Developing the future

with Genero

Genero Mobile for iOS 1.30

Layout enhancement

Command line tools to build mobile apps

Page | 73

Developing the future

with Genero

Genero Mobile 1.30 / Genero 3.00

Front call to ask user for Android™ permissions

GMA buildtool

--clean option to cleanup the scaffold directory in case of

interruption or failure in prior build

--no-install-extras option to avoid installation of extras during

Android SDK update

GMI style iosTabBarUnselectedColor to define the color of

unselected tab bar elements

GMA style androidKeepForeground to control the app state

and the background state notification

Page | 74

Developing the future

with Genero

Genero Mobile 1.30 / Genero 3.00

Starting remote applications from a mobile device with the runOnServer front call

Extended feInfo front call options for mobile devices

(deviceModel, deviceId, freeStorageSpace, iccid, imei, ppi,

windowSize, and so on)

GMI style iosTabBarUnselectedColor to define the color of

unselected tab bar elements

GMA style androidKeepForeground to control the app state

and the background state notification

Page | 75

Developing the future

with Genero

Genero Mobile 1.30 / Genero 3.00

Front call to display a box controlling debug settings on GMA

Push notification APIs for Google Cloud Messaging (GMA) and

Apple Push Notification Service (GMI), with new predefined

actions (notificationpushed)

Front calls to take or choose videos on mobile devices

Stack-based layout now provided as an explicit layout for

native phone forms

Genero Mobile for iOS now fully supports the GRID item type

Page | 76

Developing the future

with Genero

Genero Mobile 1.30 / Genero 3.00

You can debug an application deployed to a mobile device. With this new feature, the application is running on the mobile

device and the Graphical Debugger is able to attach to the

process.

The DBAPP_MOBILE environment variable provides warning messages regarding features not supported by mobile devices

during the compilation of applications generated by the

Business Application Modeler.

Page | 77

Developing the future

with Genero

Genero Mobile 1.30 / Genero 3.10

Support of Stretchable scrollgrid

PDF714 barcode type support

GMI --extensions-libs build tool option

GMIDIR environment variable

GMA --build-status-icon-* build tool option

Cordova plug-ins step 1

Page | 78

Developing the future

with Genero

Genero Mobile 1.30 / Genero 3.10

Cordova plug-ins / Local resources access

79

Four Js Products Genero Studio

Page | 80

Developing the future

with Genero

Genero Studio 3.00 DB Explorer

New module: DB Explorer

• View and modify data in DB tables

• Test SQL query results

Page | 81

Developing the future

with Genero

Genero Studio 3.00 Search View

Improved Search View

• Include previous and current search results

• Search results organized as collapsible tree

Page | 82

Developing the future

with Genero

Genero Studio 3.00 Deployment to GAS

Generate a Genero archive (GAR)

• From Project Manager

• For deployment to GAS

• Generates MANIFEST file

Page | 83

Developing the future

with Genero

Genero Studio 3.00 Meta-Schema Manager

UI improvements

• Display details on mouse

hover

• Move columns using drag’n

drop

• Show/hide FK labels

Generate DB schema documentation

• HTML format

Page | 84

Developing the future

with Genero

Genero Studio 3.00 Graphical Debugger

Debug already running processes

• Attach debugger to local or remote running process

• Attach debugger to applications running on mobile

device

Page | 85

Developing the future

with Genero

Genero Studio 3.10 Editor

View two documents side-by-side

Page | 86

Developing the future

with Genero

Genero Studio 3.10 Editor

Swift language support

CSS, SCSS, Sass, JavaScript, JSON support

Right-to-left language support

CTRL-Click to find a function definition

Structure view follows the cursor

Code structure Lock icon for private function & variables

Right click on a function to find callers

Full file name in the document tab

Turn off warning messages

Selection range shown in the toolbar

Copy Paste whole line when nothing is selected

Page | 87

Developing the future

with Genero

Genero Studio 3.10 Editor

Auto-detects UTF-16 & UTF-32 files

Select encoding when opening the file

Bookmarks stored at project level

Diff tool design enhanced

Code coverage view

Page | 88

Developing the future

with Genero

Genero Studio 3.10 Form Designer

Automatic generation of .wcsettings files

ScrollGrid initialPageSize property

Page | 89

Developing the future

with Genero

Genero Studio 3.10 Project manager

Build & link command line options

$(4fdcomp) new options -m -i -keep

Filter box to ease search of project nodes

Preview .per file in file & project

manager

Dependencies between applications

Page | 90

Developing the future

with Genero

Genero Studio 3.10 Meta-schema manager

New Category and Description property

Copy table or column to the editor

PostgreSQL index and foreign key extraction support

Page | 91

Developing the future

with Genero

Genero Studio 3.10 Misc

Support for Hi-DPI (High Dots per Inch) screen displays

gsmake -convert converts projects to new format

gsform -c converts forms to new format

GDC and GAS appears in the task view

User actions can be linked to project nodes

Last configuration used saved in the project file

Welcome page based on Chromium

92

Four Js Products Genero Report Writer

Page | 93

Developing the future

with Genero

Genero Report Writer 3.10 Misc

fgl_report_setRenderingHints

Rendering process hints, grvRenderToBitmap,

svgTextLengthAdjust, grvUseEmbeddedFontMetrics,

psOptimize, psOptimizeUseDictionary

fgl_report_setPrinterPJLVariables

Printer Job Language, server-side silent printing for postscript

printers that support PJL

SAP connector

Pentaho PDI plug-in

Page | 94

Developing the future

with Genero

Genero Report Writer 3.10 Misc

Transform original data within the report designer

select, duplicate, move, re-order, pivotize, compute

aggregations

New report transformation file .rst

When used, replaces the .rdd/.xsd file

Generate .rst files from .rdd/.xsd files

Comments on objects

First page of PDF in imageBox object

PDFBOX to embed PDF files

Spider web chart

expandToParent value for X & Y size Adjustment properties

Page | 95

Developing the future

with Genero

Genero Report Writer 3.10 Data view

New presentation

Variables organized into groups

New icons (array, record, …)

Setting breakpoint now allowed before starting to debug

Execute with trace

Four Js Genero Github

Page | 97

Developing the future

with Genero

Four Js Genero Github

Web based GIT (Version Control Repository)

Internet hosting service

https://github.com/FourjsGenero

Includes:

Example programs

Useful libraries & Tools

Page | 98

Developing the future

with Genero

Four Js Genero Github

Check out the code with Genero Studio

Compile

Run

https://youtu.be/OcEGsOqAUAc

Page | 99

Developing the future

with Genero

Four Js Genero Github

Naming convention ...

ex_* = Example

fgl_* = Library to be imported via IMPORT FGL

tool_* = Development / Sysadmin aid

tr_* = Training

wc_* = Web Component

Feature applications have full name e.g.

pool_doctors

kitchenalia

propertycross

Page | 100

Developing the future

with Genero

Four Js Genero Github

Not part of Four Js QA process

Does not follow Four Js support rules

Feel free to

Add your own example

Submit issues through the issue tab

Page | 101

Developing the future

with Genero

Four Js Genero Github

Current examples

Ex_geocode Uses GoogleMaps geocoding web

service

Ex_mail Examines way to create emails

Ex_fontawesome_viewer View the Fontawesome image set

Ex_htmlpagegenerator Generate static HTML web pages

Ex_calculator_rest The calculator demo example

written using REST

Ex_push_notification Push Notifications for Genero Mobile

Ex_bill_of_material A tree container example

Ex_clickable_image Clickable Images example

Ex_contacts A contacts program example

Ex_appmenu A main application menu example

Ex_multidialog MultiDialog cases

Page | 102

Developing the future

with Genero

Four Js Genero Github

Current Libraries

Fgl_zoom Generic zoom/lookup window written

using dynamic dialogs

Fgl_lib General library routines

Fgl_auitree Library routines for use with AUI Tree

Fgl_apache_poi Library routines to create Excel/Word

documents

Fgl_jfreechart Report routine utilising JFreeChart

Fgl_multicolumnsortdialog Dialog and processing for multiple

column sorting

Fgl_query_dialog A generic window for use in QBE

Fgl_table_actionpanel Adding a toolbar for tables generically

Page | 103

Developing the future

with Genero

Four Js Genero Github

Current Web Component samples

Wc_signature Capturing signatures

Wc_touchpad Image maps for use in touchpad

screens

Wc_svg Create your own charts etc using svg

Wc_tinymce Incorporate TinyMce webcomponent

for rich text editing

Wc_2darray Two dimensional arrays

Wc_googlecharts Google Charts example

Wc_weekcalendar A calendar/agenda example

Page | 104

Developing the future

with Genero

Four Js Genero Github

Current Tools

Tool_fglsqldebug tool for use with FGLSQLDEBUG output

Tool_fglmsgstr A message strings editor

Tool_fglschmsg Database schema editor

Tool_fglped A .per editor

Tool_fgldbed A GUI debugger that can be run from

command line

Page | 105

Developing the future

with Genero

Four Js Genero Github

Current Feature Applications

Pool_doctors Genero Mobile demo

Kitchenalia Another Genero Mobile demo utilising

Parallel Dialogs.

Propertycross Example to go up here

http://propertycross.com/

Q & A

Four Js Products Technical overview


Recommended