Skip to content

Releases

Veneer 0.4.0

Choose a tag to compare

@danlong005 danlong005 released this 12 Nov 19:13
f5bf790

Veneer 0.4.0 checks definitions and macros in CI, runs macros from other systems through a REST API, lets macros test an application, and pastes rows from a spreadsheet into a screen's entry fields.

What's new

Check definitions and macros in CI (#45)

  • veneer check (node packages/server/dist/check.js screens) finds definitions that no longer match their screen. That happens, for example, when a display file is recompiled and its screen ID changes. It also finds widget and button fields that are gone, and macro steps that no longer fit. Output is text, GitHub Actions annotations or JSON.
  • Record for checks in the designer's Page tab saves the current screen to check against. Input values are blanked.
  • The admin page has a Customizations card that shows when each definition last matched a screen.
  • See "Checking definitions in CI" in the README.

Run macros through a REST API (#41)

  • POST /api/run/<macro> with a client token and JSON values signs on as that client's IBM i service profile, runs the macro, and returns the screen it ends on: fields, lists (every page), messages and named output values.
  • Macros opt in with "api": true. Clients are listed in VENEER_API_CLIENTS, with allowed macros and a run limit. npm run api:token makes a token.
  • GET /api/run/openapi.json describes the calling client's macros.

Macros that test an application (#51)

  • A macro step can have expect checks, and a macro can name the screen it must end on and what that screen shows. A check reads a field, the text at a position, or the host's message.
  • Add checks from the Macros panel while recording or afterwards.
  • veneer test (node packages/server/dist/testMacros.js screens) runs each macro's test cases from screens/tests/<macro>.json against the host and writes a JUnit report for CI. 5250 only. See "Testing macros in CI" in the README.

Paste rows from a spreadsheet (#43)

  • Paste copied cells into a list's or form's entry fields. A preview shows what goes where and stops at a value a field won't take.
  • A screen's definition can let a paste carry on to the next pages ("paste": { "next": "Enter" }, or Pasting rows in the designer's Page tab). The last page is filled for you to check and send.
  • The demo has a new option 19, Order lines, to try it.

Docs

  • A new designer guide.
  • The README has an Install section that says which downloads are ready to run and which need building first. npm start and veneer.sh now say so when Veneer isn't built, rather than failing with "Cannot find module".

Fixes

  • In a list, an entry field that starts a column or two left of its heading no longer disappears from the modern view (#58).
  • The Dockerfile now copies every package it needs.

Downloads

File What it is
veneer-0.4.0.zip or veneer-0.4.0.tar.gz Ready to run on IBM i or Linux; needs only Node.js. The same files in either format. See deploy/README.md.
veneer-0.4.0-src.zip or veneer-0.4.0-src.tar.gz The source code, for building Veneer yourself (npm ci && npm run build).
*.sha256 Checksums for each archive.

Unpack the .zip with unzip, which keeps the links inside node_modules. The ready-made components are in examples/components/ of the release archive; copy the ones you want into your components folder.

Veneer 0.3.1

Choose a tag to compare

@danlong005 danlong005 released this 09 Nov 03:46

Veneer 0.3.1 adds a working demo of every widget and component, ships the guides in the release archive, and right-aligns numbers in list columns.

What's new

Every widget and component in the demo

  • npm run demo has new menu options 11 to 18:
    • an orders list with badges, progress bars, amounts and totals
    • the same orders on a calendar, a board and charts
    • an Order Status screen with every output display, barcodes, a timeline, an embedded page, the scanner and the help panel
    • a Delivery Options screen with the time, mask, lookup, switch and star-rating widgets
    • a bill of materials as a tree
    • contacts on a pin map
  • The demo starts a small documents server on 127.0.0.1:8079 for the embedded packing list and the invoice links, so nothing comes from outside sites.
  • docs/widgets.md and docs/components.md now have a "Try them in the demo" table that points to each option and its definition file.

Guides in the release archive

  • The release archive now includes docs/, so the README's links to the widget, component and host guides work in an installed copy.

Fixes

  • Number displays in a list column, such as dollar amounts, now line up on the right, as the widget guide says.

Downloads

File What it is
veneer-0.3.1.zip or veneer-0.3.1.tar.gz Ready to run on IBM i or Linux; needs only Node.js. The same files in either format. See deploy/README.md.
veneer-0.3.1-src.zip or veneer-0.3.1-src.tar.gz The source code, for building Veneer yourself (npm ci && npm run build).
*.sha256 Checksums for each archive.

Unpack the .zip with unzip, which keeps the links inside node_modules. The ready-made components are in examples/components/ of the release archive; copy the ones you want into your components folder.

Veneer 0.3.0

Choose a tag to compare

@danlong005 danlong005 released this 07 Nov 20:47

Veneer 0.3.0 adds widgets, output displays and ready-made components for building modern pages from host screens, and supports code page 273 for German and Austrian systems such as PUB400.

What's new

Widgets and displays (#39)

  • Input widgets: a switch, a time picker, a masked input, and a lookup with suggestions and a button that sends the host's prompt key.
  • Output text shown as a status badge, number, date, yes/no, link, progress bar, or barcode (QR or Code 128), at a position or for every row of a list column.
  • Labels, with styles and an optional help tooltip, and images, from the theme, the web or a path filled from screen values. Both are placed, dragged and resized in the designer.
  • docs/widgets.md covers adding, configuring and using each one.

Ready-made components (#40)

  • Whole-list table, totals, board, calendar, tree, pin map, spool file viewer, barcode scanner, help panel, embedded page and status timeline.
  • The bar chart also draws stacked bars, lines, pie, donut and sparklines.
  • Components can read a whole list across every page (ctx.readList()), go back to a row (ctx.openRow()) and read every page of a screen region (ctx.readPages()).
  • docs/components.md covers installing, placing and using each one.

Code page 273 (Germany/Austria) (#47)

  • VENEER_CCSID=273 is now supported, so umlauts, ß, § and @ [ ] { } \ | ! ~ ^ show and are sent correctly. Thanks to @ZodandSons for the report and the patch.
  • The PUB400 guide now sets it.

Fixes

  • Uppercase-only fields keep ß as it is, instead of turning it into SS and lengthening the text.
  • Changes to text on the rows a tall display (such as a QR code) covers now go to that text, not to the display.
  • Components draw above screen text.

Downloads

File What it is
veneer-0.3.0.zip or veneer-0.3.0.tar.gz Ready to run on IBM i or Linux; needs only Node.js. The same files in either format. See deploy/README.md.
veneer-0.3.0-src.zip or veneer-0.3.0-src.tar.gz The source code, for building Veneer yourself (npm ci && npm run build).
*.sha256 Checksums for each archive.

Unpack the .zip with unzip, which keeps the links inside node_modules. The ready-made components are in examples/components/ of the release archive; copy the ones you want into your components folder.

Veneer 0.2.0

Choose a tag to compare

@danlong005 danlong005 released this 04 Nov 13:21

Veneer 0.2.0 adds mainframe hosts. Alongside IBM i (5250), Veneer now gives modern web pages to IBM Z (3270) applications: TSO and ISPF on z/OS. Each server serves one host type.

What's new

Mainframe (3270) hosts

  • A TN3270 / TN3270E client, tested against a real z/OS (IBM Z Xplore) and MVS 3.8j (TK4-). See #33 for what passed and what is untested.
  • 3270 keys, fields and screen sizes (models 2 to 5), PA keys, Clear, SysReq and Attention.
  • TSO line mode, with earlier output kept to scroll back to.
  • ISPF panels: lists shown as tables, pop-ups and pull-downs shown as windows, and ISPF's lines and boxes drawn on the character grid.
  • A 3270 demo host (npm run demo -- --3270).
  • Where to run Veneer for a mainframe.

For every host

  • Sign on from Veneer's own page, with IBM i automatic sign-on (RFC 4777).
  • Recorded macros run from buttons, a Go to menu and deep links.
  • Themes: a style sheet and artwork, picked for everyone.
  • Radio button, spinner and text area widgets, and a card view component.
  • Copying from the screen keeps one line per row, with the fields' values.

Downloads

File What it is
veneer-0.2.0.zip or veneer-0.2.0.tar.gz Ready to run on IBM i or Linux; needs only Node.js. The same files in either format. See deploy/README.md.
veneer-0.2.0-src.zip or veneer-0.2.0-src.tar.gz The source code, for building Veneer yourself (npm ci && npm run build).
*.sha256 Checksums for each archive.

Unpack the .zip with unzip, which keeps the links inside node_modules. Ready-made components (map, bar chart, star rating, card view) are in examples/components/ of the release archive.

Veneer 0.1.0

Choose a tag to compare

@danlong005 danlong005 released this 01 Nov 02:24

First release of Veneer.

File What it is
veneer-0.1.0.tar.gz Ready to run on IBM i or Linux; needs only Node.js. See deploy/README.md.
veneer-0.1.0-src.tar.gz The source code, for building Veneer yourself (npm ci && npm run build).
*.sha256 Checksums for each archive.

Ready-made components (map, bar chart, star rating) are in examples/components/ of the release archive.