genero product roadmap
TRANSCRIPT
Less code,
More logic.
FY13 Genero RoadmapMarch 2013www.4js.com
v2.41 MR*(Dec 07, 12**)
Genero- GAS / GWC
- HTML5 theme improvements
-Uses native iOS & Android widgets
- Genero hybrid client templates
- Customizable project templates for Android 4 &
iOS 5 SDKs
- Support for Android 4 & iOS 5 native
browsers
- Compatible with GWC-SL & GWC-AJAX
- Support for “traditional mode”
- Stored table settings support
- Move/reorder columns
- Hide, show columns
- Stretchable and GDC-compatible layout
(except splitters)
Genero Studio- Centralized DB operations & constraints- New BAM templates- CRUD - activate/deactivate menu options
**General Availability* Maintenance Release
V2.50(Dec 10, 13**)
Genero
- Genero Mobile
- Modular Forms/Dialogs
- JSON class
- UTF-8
- GAS/GWC- SSO (OpenID, SAML)
- Application deployment framework,
- HTML 5 enhancements,
- Windows 8 Tablet support,
- GridChildrenInParent, FrozenColumns,
Tabbed Container, Splitters, ..
- Performance improvements.
- Compressed content, protocols review...
- Web Service language extensions
- New utilities for encryption, http and html
Genero Studio
- Genero Mobile
- BAM improvements
- Form designer improvements
- Database management
- Mac OSX
- Chinese
- Code Editor & integrated diff
- Web Services debugging
- Tools- SVN Blame, Lock mode
- Build/link rules extensions
- 3rd party build tool support
Genero Report Writer
- Pivot tables
- Table layouts
- QR codes
- „Backside‟ printing
- Designer enhancements
- Section rotation
- Improved HTML rendering
- Web Report Viewer
- Client-side error display
- Java API
Roadmap FY13 Q4
FY13 Roadmap
Executive SummaryPage | 3
Genero v2.50,
Genero Studio v2.50,
Genero Report Writer v2.50,
Genero Mobile v1.0.
Roadmap FY13 Q4
Q&A
Genero
FY13 Roadmap
Executive SummaryPage | 5
Modular forms,
Modular dialogs,
JSON class,
SSO,
HTML5 improvements,
UTF-8 with character length semantics,
Windows 8 tablet support.
Genero v2.50 Summary
FY13 Roadmap
Executive SummaryPage | 6
Reuse common forms,
Avoid monolithic forms,
Facilitate maintenance.
Genero v2.50 Modular Forms
LAYOUT
VBOX
GROUP(TEXT="Customer (Master Record)")
GRID
{ First Name:[fname ] Last Name:[last ] }
END
END --GROUP
FOLDER
PAGE(TEXT="Donations",COMMENT="edits the customers donations")
FORM "donations"
END --PAGE
folder.per
FY13 Roadmap
Executive SummaryPage | 7
Subform defined in separate .per file
Genero v2.50 Modular Forms
LAYOUT
TABLE
{
DATE Amount Reason
[p_date][p_amount ][p_reason ]
[p_date][p_amount ][p_reason ]
[p_date][p_amount ][p_reason ]
[p_date][p_amount ][p_reason ]
[p_date][p_amount ][p_reason ]
[p_date][p_amount ][p_reason ]
[p_date][p_amount ][p_reason ]
[p_date][p_amount ][p_reason ]
[p_date][p_amount ][p_reason ]
}
END
END
ATTRIBUTES
p_date = FORMONLY.p_date,NOT NULL,DEFAULT=TODAY;
p_amount = FORMONLY.p_amount,NOT NULL;
p_reason = FORMONLY.p_reason,NOT NULL;
INSTRUCTIONS
SCREEN RECORD donations(FORMONLY.*);
donations.per
FY13 Roadmap
Executive SummaryPage | 8
Code more readable &
usable,
Define dialogs in separate
modules,
Subdialogs declared like
functions,
Separate subdialog testing,
Easier variable naming.
Genero v2.50 Modular dialogs
IMPORT FGL donations
DEFINE fname,last VARCHAR(50)
DEFINE m_details RECORD
clubmember INT,
otherdetail CHAR(50)
END RECORD
MAIN
OPEN FORM f FROM "Folder"
OPTIONS INPUT WRAP
DISPLAY FORM f
LET fname="Willi"
CALL donations.fill()
DIALOG ATTRIBUTES(UNBUFFERED)
INPUT BY NAME fname,last ATTRIBUTES(WITHOUT DEFAULTS)
:
:
END INPUT
SUBDIALOG donations
INPUT m_details.* FROM details.*
:
:
END INPUT
:
:
END MAIN
folder.4gl
FY13 Roadmap
Executive SummaryPage | 9
DEFINE donations DYNAMIC ARRAY OF RECORD
p_date DATE,
p_amount MONEY,
p_reason VARCHAR(250)
END RECORD
FUNCTION fill()
DEFINE i INT
FOR i=1 TO 5
LET donations[i].p_date = TODAY -10 +i
LET donations[i].p_amount = i+1
END FOR
END FUNCTION
DIALOG donations()
INPUT ARRAY donations FROM donations.*
AFTER FIELD p_amount
IF donations[arr_curr()].p_amount<2.0 THEN
ERROR "must be at least 2 dollars:-)"
NEXT FIELD CURRENT
END IF
AFTER ROW
IF arr_curr()<=arr_count() THEN
DISPLAY “AFTER ROW donations:check row"
END IF
END INPUT
END DIALOG
donations.4gl
Genero v2.50 Modular dialogs
Code more readable &
usable,
Define dialogs in separate
modules,
Subdialogs declared like
functions,
Separate subdialog testing,
Easier variable naming.
FY13 Roadmap
Executive SummaryPage | 10
Automatic scroll areas,
Start menu with tabbed container,
Frozen table columns,
Splitter between layout items,
Treeview.
Genero v2.50 HTML5 improvements – GDC compatibility
FY13 Roadmap
Executive SummaryPage | 11
Genero v2.50 HTML5 improvements – GDC compatibility
Automatic scroll areas
GDCHTML5
FY13 Roadmap
Executive SummaryPage | 12
StartMenu with tabbed containerTabs select applications
StartMenu runs
applications
Genero v2.50 HTML5 improvements – GDC compatibility
FY13 Roadmap
Executive SummaryPage | 13
Frozen table columns
GDCLeft-most column is frozen
Scrolls in unfrozen part of table
Genero v2.50 HTML5 improvements – GDC compatibility
FY13 Roadmap
Executive SummaryPage | 14
Splitter between layout items
Handle redefines split between StartMenu and Form
Scrollbar set if container too small
Genero v2.50 HTML5 improvements – GDC compatibility
FY13 Roadmap
Executive SummaryPage | 15
Java Script Object Notation
o Fat-free alternative to XML,
o Lightweight, easy-to-read, data-interchange format,
o Subset of Java Script,
o Minimal, textual, easy to parse,
o Built on two structures:
o A collection of name/value
pairs: object, record, hash
table, keyed list, or
associative array,
o An ordered list of values:
array, vector, list, or
sequence.
Genero v2.50 JSON class
Sample JSON object:
{
"name": "Jack (\"Bee\") Nimble",
"format":{
"type": "rect",
"width": 1920,
"height": 1080,
"interlace": false,
"frame rate": 24
}
}
FY13 Roadmap
Executive SummaryPage | 16
Provides methods to parse &
convert a JSON string to a
record variable,
JSON class methods:
o util.JSON.parse()
o util.JSON.stringify()
o util.JSON.format()
o Util.JSON.proposeType()
Genero v2.50 JSON class
IMPORT util
MAIN
DEFINE cust_rec RECORD
cust_num INTEGER,
cust_name VARCHAR(30),
orderids DYNAMIC ARRAY OF INTEGER
END RECORD
DEFINE js STRING
LET cust_rec.cust_num = 345
LET cust_rec.cust_name = "McMaclum"
LET cust_rec.orderids[1] = 4732
LET cust_rec.orderids[2] = 9834
LET cust_rec.orderids[3] = 2194
LET js = util.JSON.stringify( cust_rec )
DISPLAY util.JSON.format( js )
INITIALIZE cust_rec.* TO NULL
CALL util.JSON.parse( js, cust_rec )
DISPLAY cust_rec.cust_num, " ",
cust_rec.cust_name
END MAIN
Displays:
{
"cust_num": 345,
"cust_name": "McMaclum",
"orderids": [4732,9834,2194]
}
345 McMaclum
FY13 Roadmap
Executive SummaryPage | 17
Genero v2.50 JSON class – weather example
FY13 Roadmap
Executive SummaryPage | 18
Genero v2.50 JSON class – weather example
:
:
INITIALIZE daily_weather TO NULL
IF length(s) THEN
CALL util.JSON.parse(s, daily_weather)
END IF
CALL weather.clear()
FOR i=1 TO daily_weather.list.getLength()
LET weather[i].dt = DATETIME(1970-01-01 00:00:00) YEAR TO SECOND + daily_weather.list[i].dt UNITS SECOND
LET weather[i].temp = daily_weather.list[i].temp
LET weather[i].night = daily_weather.list[i].night
LET weather[i].eve = daily_weather.list[i].eve
LET weather[i].morn = daily_weather.list[i].morn
LET weather[i].pressure = daily_weather.list[i].pressure
LET weather[i].humidity = daily_weather.list[i].humidity
LET weather[i].id = daily_weather.list[i].weather[1].id
LET weather[i].main = daily_weather.list[i].weather[1].main
LET weather[i].description = daily_weather.list[i].weather[1].description
LET weather[i].icon = "http://openweathermap.org/img/w/", daily_weather.list[i].weather[1].icon
LET weather[i].speed = daily_weather.list[i].speed
LET weather[i].deg = daily_weather.list[i].deg
END FOR
DISPLAY util.JSON.format(s)
END FUNCTION
FY13 Roadmap
Executive SummaryPage | 19
Genero v2.50 Single Sign On (SSO) w/ SAML & OpenID
Access control to independent, related software systems,
Log in once to all systems.
o SAML
o OpenID
FY13 Roadmap
Executive SummaryPage | 20
Genero v2.50 UCS Transformation Format (UTF-8)
Prior Genero versions use ‘byte’ length semantics,
o Eg: DEFINE var CHAR(10)– 10 bytes,
o In UTF-8, characters encoded w/ variable number of bytes,
o So in UTF-8, above DEFINE stores:
o 10 ASCII chars: (1 byte = 1 char),
o 5 accentuated chars: (2 bytes = 1 char),
o 3 Asian ideograms: (3 bytes = 1 char).
Genero v2.50 uses ‘char’ length semantics.
o DEFINE var CHAR(10)-- 10 characters, automatic storage,
o Stores 10 characters in any language/character set.
Read more:
o Understanding „length semantics‟
o Character size unit and length semantics
o UTF-8
FY13 Roadmap
Executive SummaryPage | 21
Q&A
Genero Mobile
FY13 Roadmap
Executive SummaryPage | 22
Smartphone & tablet,
Connected/disconnected
apps,
iOS & Android,
Native DVM,
Native UI,
SQL Lite,
JSON/RESTful web services.
Genero MobileSummarye responsive to change
FY13 Roadmap
Executive SummaryPage | 23
Genero MobileIt‟s 4GL, but not as we know it…
Native look & feel,
Combined with power of 4GL.
MENU "Test"
ON ACTION sub
CALL submenu()
ON ACTION showform
CALL showform()
ON ACTION winmess
CALL winmess()
ON ACTION dialog1
CALL dialog1()
ON ACTION dialog2
CALL dialog2()
ON ACTION showlist
CALL showlist()
COMMAND "submenu iphone"
CALL menu_iphone()
COMMAND "Exit"
EXIT MENU
END MENU
FY13 Roadmap
Executive SummaryPage | 24
Genero Mobile Native UI combined with power of Genero
Native widgets
FUNCTION showform()
OPEN WINDOW wf with FORM "simple2"
LET test=3
LET date=TODAY
INPUT BY NAME test,check,date WITHOUT DEFAULTS
ON ACTION foo
DISPLAY "foo"
ON CHANGE check
DISPLAY "ON CHANGE check:",check
ON ACTION bar
DISPLAY "bar"
END INPUT
CLOSE WINDOW wf
END FUNCTION
FY13 Roadmap
Executive SummaryPage | 25
Bottom pop-up dialog
FUNCTION dialog2()
MENU "Hallo dialog" ATTRIBUTES(STYLE="dialog“)
COMMAND "cancel"
DISPLAY "cancel"
EXIT MENU
COMMAND "delete"
DISPLAY "delete"
EXIT MENU
COMMAND "update"
DISPLAY "update"
EXIT MENU
END MENU
END FUNCTION
Genero Mobile Native UI combined with power of Genero
FY13 Roadmap
Executive SummaryPage | 26
Swipe left to delete
FUNCTION showlist()
OPEN WINDOW f WITH FORM "simple"
FOR i=1 TO 100
LET arr[i].a=sfmt("item%1",i-1)
IF i MOD 2 == 0 THEN
LET arr[i].b="smiley"
ELSE
LET arr[i].b="pen"
END IF
END FOR
DISPLAY ARRAY arr TO arr.* ATTRIBUTES(UNBUFFERED)
ON ACTION cut
LET arr[5].a="cut"
LET arr[5].b="cut"
ON ACTION pen
LET arr[5].a="pen"
LET arr[5].b="pen"
ON ACTION smiley
LET arr[5].a="smiley"
LET arr[5].b="smiley"
ON DELETE
DISPLAY "deleted element at index :",arr_curr()
END DISPLAY
CLOSE WINDOW f
END FUNCTION
Genero Mobile Native UI combined with power of Genero
FY13 Roadmap
Executive SummaryPage | 27
Swipe left to delete
FUNCTION showlist()
OPEN WINDOW f WITH FORM "simple"
FOR i=1 TO 100
LET arr[i].a=sfmt("item%1",i-1)
IF i MOD 2 == 0 THEN
LET arr[i].b="smiley"
ELSE
LET arr[i].b="pen"
END IF
END FOR
DISPLAY ARRAY arr TO arr.* ATTRIBUTES(UNBUFFERED)
ON ACTION cut
LET arr[5].a="cut"
LET arr[5].b="cut"
ON ACTION pen
LET arr[5].a="pen"
LET arr[5].b="pen"
ON ACTION smiley
LET arr[5].a="smiley"
LET arr[5].b="smiley"
ON DELETE
DISPLAY "deleted element at index :",arr_curr()
END DISPLAY
CLOSE WINDOW f
END FUNCTION
Genero Mobile Native UI combined with power of Genero
FY13 Roadmap
Executive SummaryPage | 28
Access to native iOS apps
Genero Mobile Native UI combined with power of Genero
FUNCTION menu_iphone()
MENU "iphone"
COMMAND "dial a number"
CALL ui.interface.frontcall(
"standard","shellexec“,
["tel:03612219060"],[ret])
CALL fgl_winmessage(
"Message",sfmt("result:%1",ret),"info");
COMMAND "choose a photo"
LET dlg="choosePhoto"
GOTO photoDlg
COMMAND "make a photo"
LET dlg="makePhoto"
LABEL photoDlg:
CALL ui.interface.frontcall(
"iPhone",dlg,[],[retstr])
DISPLAY "retstr:",retstr
COMMAND "filetransfer 1st photo"
CALL fgl_getfile(
"assets-library:
//asset/asset.JPG?id=1000000001
&ext=JPG","asset.jpg")
ON ACTION back
EXIT MENU
END MENU
END FUNCTION
FY13 Roadmap
Executive SummaryPage | 29
Genero MobileEmbedded relational database
SQL-Lite
Illinois
Iowa
Wichita
CACalifornia
Washington
New York
WA
NY
Master Detail
FY13 Roadmap
Executive SummaryPage | 30
Genero MobileEmbedded relation database – code segment
SQL-Lite
DATABASE "custdemo.db+driver='dbm<dbmsqlite>'“
FUNCTION load_states()
DEFINE i SMALLINT
DEFINE rs RECORD LIKE state.*
DATABASE "custdemo.db"
CALL a_states.clear();
DECLARE cc_states CURSOR FOR
SELECT * FROM state
LET i=0
FOREACH cc_states INTO rs.*
LET i=i+1
LET a_states[i].code=rs.state_code
LET a_states[i].name=rs.state_name
END FOREACH
END FUNCTION
Close to SQL-92 standard,
Lightweight (~3-400 KB),
Embedded = no libraries,
Well suited for mobile,
UTF-8 for UNICODE apps,
Wide use – Adobe, Mozilla,
Open source.
FY13 Roadmap
Executive SummaryPage | 31
Q&A
Genero Studio
FY13 Roadmap
Executive SummaryPage | 32
Genero Mobile,
BAM improvements,
Database management,
Subversion collaboration tools,
Build system improvements,
Form designer,
MAC OSX,
Chinese.
Genero Studio Summary
FY13 Roadmap
Executive SummaryPage | 33
Design mobile apps,
Build, test, package.
Genero Studio Genero Mobile
FY13 Roadmap
Executive SummaryPage | 34
BA Diagram constraints management
o Setup permits definition of constraints on items & relations,
o Diagram editing uses definitions to show valid combinations.
Meta-schema via references
o Properties in Forms, Reports Data reference properties,
o Enables single, central store,
o Overriden locally when necessary,
o Meta-schema updates apply to all forms & report data.
Genero Studio BAM improvements
FY13 Roadmap
Executive SummaryPage | 35
New template set
o Built-in „find‟,
o Native serial management for Informix,
o Additional checks to maintain database consistency,
o Additional <POINT>,<BLOCK> sections for custom code.
Genero Studio BAM improvements
FY13 Roadmap
Executive SummaryPage | 36
Web Services
o Model SOAP Web Service
servers,
o Model as standalone or
generate from form.
o Provides all operations
available for manual data
entry (CRUD)
Genero Studio BAM improvements
FY13 Roadmap
Executive SummaryPage | 37
Update script generation
o Mods made in schema editor create update
script to apply to all target databases,
o Upgrade scripts also take care of data.
Genero Studio Database management
FY13 Roadmap
Executive SummaryPage | 38
Schema diffs
o Compare two schemas,
o Migrate changes from first schema to second,
o Analysis displayed in
schema editor,
o Used in conjunction with
„update script‟, will
upgrade a database to
new schema.
Genero Studio Database management
FY13 Roadmap
Executive SummaryPage | 39
Keys & index differentiation
o Primary key, secondary key definitions now explicit,
o Clearly differentiated from indexes even when user decides not to define these constraints at the database
level.
Genero Studio Database management
FY13 Roadmap
Executive SummaryPage | 40
SVN Blame,
o Developer traceability for each line of code
SVN Diff,
o SVN benefits from new integrated diff tool
SVN Lock.
o File locking while editing,
o View repository locks for all users,
o Good for binary files & those difficult to analyze,
o Locks owned by user until released.
Genero Studio Subversion collaboration tools
FY13 Roadmap
Executive SummaryPage | 41
Multiple language support,
o Include builds for Java, C, etc...
o Compile Java/C extensions within project.
Customizable link/executions rules.
o Define link & execution rule,
o Integrate better w/ 3rd party build systems.
o eg. makefile based projects.
Genero Studio Build system enhancements
FY13 Roadmap
Executive SummaryPage | 42
Enhanced form wizard
o Shows foreign key
relations, NULL constraints…
o Easier to create complex
queries & select fields.
Genero Studio Form Designer
FY13 Roadmap
Executive SummaryPage | 43
Top Menu editor,
o Edit directly in design view
Colour & images.
o Rendered in design view
Genero Studio Form Designer
FY13 Roadmap
Executive SummaryPage | 44
Compared files are editable,
Uses code editor features,
o Syntax highlighting, goto definition…
Line differences shown for current diff block,
Dual view mode.
o Single pane – differences in a single document,
o Dual panes – compares 2 documents in
separate views.
Genero Studio New „diff‟ tool
FY13 Roadmap
Executive SummaryPage | 45
Integrated ‘diff’
o Display differences between any open Code Editor file
and a reference file,
o Reference file can be:
o Last saved – displays differences with file saved on disk,
o SVN – displays differences with original SVN file,
o AG – displays differences with <BLOCK> and <POINT>,
o Other – displays differences with another file.
Genero Studio Code Editor based „diff‟ tool
FY13 Roadmap
Executive SummaryPage | 46
Integrated ‘diff’
o Display modes:
o Standard – no differences are shown,
o Single pane – differences
appear in single document,
o Single diff pane with deleted items – differences appear
in single document with
deleted lines,
o Dual diff pane – 2 documents, read-only
reference and editable
open document.
Genero Studio Code Editor based „diff‟ tool
FY13 Roadmap
Executive SummaryPage | 47
Integrated ‘diff’
o Display modes:
o Standard – no differences are shown,
o Single pane – differences
appear in single document,
o Single diff pane with deleted items – differences appear
in single document with
deleted lines,
o Dual diff pane – 2 documents, read-only
reference and editable
open document.
Genero Studio Code Editor based „diff‟ tool
FY13 Roadmap
Executive SummaryPage | 48
Integrated ‘diff’
o Display modes:
o Standard – no differences are shown,
o Single pane – differences
appear in single document,
o Single diff pane with deleted items – differences appear
in single document with
deleted lines,
o Dual diff pane – 2 documents, read-only
reference and editable
open document.
Genero Studio Code Editor based „diff‟ tool
Deleted hidden
FY13 Roadmap
Executive SummaryPage | 49
Integrated ‘diff’
o Display modes:
o Standard – no differences are shown,
o Single pane – differences
appear in single document,
o Single diff pane with deleted items – differences appear
in single document with
deleted lines,
o Dual diff pane – 2 documents, read-only
reference and editable
open document.
Genero Studio Code Editor based „diff‟ tool
Deleted hidden
FY13 Roadmap
Executive SummaryPage | 50
Integrated ‘diff’
o Display modes:
o Standard – no differences are shown,
o Single pane – differences
appear in single document,
o Single diff pane with deleted items – differences appear
in single document with
deleted lines,
o Dual diff pane – 2 documents, read-only
reference and editable
open document.
Genero Studio Code Editor based „diff‟ tool
Deleted hiddenDeleted
FY13 Roadmap
Executive SummaryPage | 51
Integrated ‘diff’
o Display modes:
o Standard – no differences are shown,
o Single pane – differences
appear in single document,
o Single diff pane with deleted items – differences appear
in single document with
deleted lines,
o Dual diff pane – 2 documents, read-only
reference and editable
open document.
Genero Studio Code Editor based „diff‟ tool
Deleted hiddenDeleted
FY13 Roadmap
Executive SummaryPage | 52
Integrated ‘diff’
o Display modes:
o Standard – no differences are shown,
o Single pane – differences
appear in single document,
o Single diff pane with deleted items – differences appear
in single document with
deleted lines,
o Dual diff pane – 2 documents, read-only
reference and editable
open document.
Genero Studio Code Editor based „diff‟ tool
Deleted hiddenDeleted
Added
FY13 Roadmap
Executive SummaryPage | 53
Integrated ‘diff’
o Display modes:
o Standard – no differences are shown,
o Single pane – differences
appear in single document,
o Single diff pane with deleted items – differences appear
in single document with
deleted lines,
o Dual diff pane – 2 documents, read-only
reference and editable
open document.
Genero Studio Code Editor based „diff‟ tool
Deleted hiddenDeleted
Added
Deleted
FY13 Roadmap
Executive SummaryPage | 54
Integrated ‘diff’
o Display modes:
o Standard – no differences are shown,
o Single pane – differences
appear in single document,
o Single diff pane with deleted items – differences appear
in single document with
deleted lines,
o Dual diff pane – 2 documents, read-only
reference and editable
open document.
Genero Studio Code Editor based „diff‟ tool
Deleted hiddenDeleted
Added
Deleted
Modified
FY13 Roadmap
Executive SummaryPage | 55
Integrated ‘diff’
o Display modes:
o Standard – no differences are shown,
o Single pane – differences
appear in single document,
o Single diff pane with deleted items – differences appear
in single document with
deleted lines,
o Dual diff pane – 2 documents, read-only
reference and editable
open document.
Genero Studio Code Editor based „diff‟ tool
Deleted hiddenDeleted
Difference in line highlighted
(currently selected ‘diff’)
Added
Deleted
Modified
FY13 Roadmap
Executive SummaryPage | 56
Genero Studio Mac OSX
FY13 Roadmap
Executive SummaryPage | 57
Genero Studio Simplified and Traditional Chinese
FY13 Roadmap
Executive SummaryPage | 58
Q&A
Genero Report
Writer
FY13 Roadmap
Executive SummaryPage | 59
Pivot tables
Table layouts
Quick Response (QR) codes
‘Backside’ printing
Designer enhancements
Section rotation
Improved HTML rendering
Web Report Viewer
Client-side runtime error dialog
Java API
Genero Report WriterSummary
FY13 Roadmap
Executive SummaryPage | 60
Charts with multiple dimensions,
Table with fixed column role types (measure & dimension),
Table rows known as ‘facts’.
Genero Report WriterPivot tables
FY13 Roadmap
Executive SummaryPage | 61
Header A Header B Header C
Header 1H
ead
er
2
He
ad
er
3
He
ad
er
4
He
ad
er
5
L11 L12 L13 L14 L15 L16
L21 L22 L23 L24 L25 L26
L31 L32 L33 L34 L35 L36
L41 L42 L43 L44 L45 L46
L51 L52 L53 L54 L55 L56
Table object manipulates columns, lines and cells for easier formatting
and alignment
Genero Report WriterTable layout
FY13 Roadmap
Executive SummaryPage | 62
Genero Report WriterQuick response (QR) codes
http://www.4js.com
Hello World: width="3cm"
Hello World: size not specified
(default error correction (3))
FY13 Roadmap
Executive SummaryPage | 63
Efficient printing of
repeated verso pages
Genero Report Writer‟Back-side‟ printing
FY13 Roadmap
Executive SummaryPage | 64
Trigger updates,
o Report designer smartly recovers triggers on data
source changes
Designer trigger editing.
o Trigger selection easier w/ keyboard shortcuts &
menus
Genero Report WriterDesigner enhancements
FY13 Roadmap
Executive SummaryPage | 65
Display object labels
o In design view, object labels optionally displayed
instead of expressions,
o Enables naming objects for easier retrieval.
Genero Report WriterDesigner enhancements
FY13 Roadmap
Executive SummaryPage | 66
Footers & headers
o In design view, footer
appears at section end
Genero Report WriterDesigner enhancements
FY13 Roadmap
Executive SummaryPage | 67
Smart objects
o Create objects based
on context "Class“o Each object in template
can be given a class
(header, row),
o Used when creating an
element,
o Eg: when adding a field:
o object becomes a
label when added to
a table header,
o becomes an
expression when
added to a table
row.
Genero Report WriterDesigner enhancements
FY13 Roadmap
Executive SummaryPage | 68
Genero Report WriterSection rotation with child elements
FY13 Roadmap
Executive SummaryPage | 69
Genero Report WriterClient-side runtime error dialog
New runtime error dialog
Cause of error displayed
FY13 Roadmap
Executive SummaryPage | 70
Q&A
Thank you