Upload
others
View
9
Download
0
Embed Size (px)
Citation preview
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 | 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 | 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 | 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 | 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
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
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 | 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 | 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 | 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 | 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
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
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
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
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/