The CNX notebook.

Browse these blog posts from our Valence and IBM i experts to get techniques, advice and examples for building apps that transform your business world.

Convert a green screen query into a web or mobile app in minutes

The tried and true IBM i Query Utility (as accessed via STRQRY or WRKQRY) is mainstay in many IBM i shops.  But it goes without saying that the user interface associated with the configuration and the output of an IBM i Query leaves a bit to be desired. This is particularly true when users must navigate through the query’s definition to change selection or sort criteria. So wouldn’t it be convenient if you could easily take any IBM i Query definition from the...
Learn More

Who knew you could do that in Valence?

As we prepare for next month’s release of Valence 5.1, we thought it’d be both interesting and useful to summarize some of the blog post contents in a single, categorized list.  From customizing the look and feel of the Valence Portal to tips on back-end and front-end development, there’s likely to be at least one or two blog posts to pique your interest. Without further ado, here’s a categorized breakdown of the more useful blog posts from the past few years:  Put a link on...
Learn More

Useful information extractable from the IBM i Apache Server

With every user action in the browser that results in a call to a Valence instance running on your IBM i Power Server, a wealth of data about the user’s session is sent to the integrated Apache Server.  This information can be accessed by your back-end RPG programs to potentially alter how they respond to the front-end. Want to know what URL is on the user’s browser page?  Or what type of browser is being used?  All of this and...
Learn More

Adding colorful pizzazz to Nitro Query grids

The Nitro Query app included with Valence is designed to quickly take large volumes of IBM i data and make it easily accessible to your users in the form of a dashboard or query.  Management and company executives in particular love the intuitive nature of being able to click through charts, graphs or grids, and optionally download the data to Excel.  And, of course, IT developers love the ease and speed in which these apps can be created for both desktop and mobile interfaces.  With the latest...
Learn More

Building and deploying Valence 5 apps with Sencha Architect

The latest version of Valence 5 (5.0.20170120.0 as of this writing) makes it significantly easier and more convenient to develop Valence apps using Sencha Architect.  Specifically you can now: Work on Valence apps locally on your Mac or PC.  Working with the code locally on your own Mac or PC is much faster and more reliable than working over a network connection to a mapped drive on the IFS.  “Build” the app for testing or production.  Building the app will use Sencha...
Learn More

Understanding back-end issues with the Valence Errors app

In a typical Valence app you have a myriad of front-end UI logic working in tandem with back-end RPG programs that process AJAX calls and perform functions to retrieve or update IBM i data.  Whenever something goes wrong on the front-end, you can typically zero in on the issue by peering into the browser’s console. But when an unexpected error or problem occurs on the IBM i back-end — whether it be a trapped condition in a program, or a critical error like...
Learn More

Fun with summary functions and column rendering on Nitro Query grids

By far the most popular UI component in the Valence modernization framework is the subfile-on-steroids known as the Ext JS grid. And for IBM i developers and super users alike, there is simply no faster way to roll out a web or mobile application exploiting this powerful functionality than through the grid widget in Valence’s Nitro Query tool. In recent weeks we’ve been feverishly adding bells and whistles to the grid widget, and this month’s tip focuses on elements pertaining to column rendering and summary functions (please...
Learn More

Put a link on it: Launching apps directly from a URL

Sometimes the best way to get a business point across to someone, or get them to look at something at all, is to make it insanely easy for them to get where they need to go with a single click. The Valence 5 portal makes it possible to do this with just about any app or Nitro Query you’ve got set up. Simply construct a special URL and email it! Imagine this scenario: You’ve got an executive regularly harping on you to...
Learn More

Migrating an AutoCode-generated app from Valence 4.2 to 5.0

AutoCode apps generated with Valence 4.2 use Ext JS 4.2 — the fact that these are the same version numbers iwherever possible it is recommended that you just regenerate the app using the new autocode that comes with valence 5.  However, if you’ve made enhancements to AutoCode apps generated in Valence 4.2 then regeneration from scratch isn’t a very viable option.   Fortunately, if you’ve used Sencha Architect to apply those front-end modifications (versus making changes directly to the source), then you...
Learn More

Using a Validation Program with Nitro Query’s Edit Grid Widget

One of the most powerful widgets available in Nitro Query is the Edit Grid.  Traditionally queries are read-only, but with an Edit Grid you can actually allow users to update records in a single-file data source — right from within the query itself!  In some cases you may find you can simply create a query for data entry in lieu of coding an actual app, saving yourself a ton of time and effort. This blog post demonstrates how to use an RPG validation program in conjunction with the Edit...
Learn More

Creating Complex JSON Arrays in RPG

In order to provide data to more intricate UI elements in Ext JS such as trees or collapsible grids with nested lists, you will often find it necessary for your RPG programs to create JSON strings containing arrays within arrays.  While the Valence RPG Toolkit includes plenty of vvOut functions for sending JSON data that originates as an RPG variable, a data structure, a simple array, or an SQL select statement, more complicated scenarios may require a different approach.  This is where some popular open source JSON utilities available for RPG developers can offer a helping...
Learn More

Adding Click Events to a Nitro Query

One common trait we see at companies small and large is that users have a seemingly insatiable appetite for queries, dashboards and Excel downloads. Fortunately, the Nitro Query app included with Valence provides a great mechanism for quickly whipping out these kinds of apps without any programming.   With Valence 5, in addition to completely reengineering the Nitro Query interface, we’ve also added a new “click event” feature. This functionality makes it possible for users to intuitively click their way...
Learn More

CNX and Sencha Announce Formal Partnership for IBM i Modernization

Sencha and CNX Partner to Revolutionize App Modernization for IBM i Applications Dramatically improve user experience on IBM Power System servers running IBM i across all browsers and mobile devices May 24, 2016 REDWOOD CITY, CA (BUSINESS WIRE) – Sencha, the company providing a unified platform for designing, developing and testing cross-platform web applications, and CNX, an IBM i software and services company, have announced a new partnership to help enterprises with legacy IBM i applications leap into web and mobile app...
Learn More

COMMON Annual Meeting Recap

If you missed the show this year, here are some pictures from the Conference and of the Valence team in action. Educational Sessions Rob Swanson from CNX gave a few sessions at this event, including: 32CS JavaScript 101: First Look from an RPG Perspective 37CS Analyze and Debug Web Applications Using the Chrome Console 41CS Valence – A Web and Mobile Framework for IBM i Developers COMMON Cares 5K The popular COMMON Cares 5K was held along the Mississippi River....
Learn More

Valence 5 is Now Available!

CNX Announces General Release of Valence 5 Focuses on user experience and tools for modernizing IBM i applications; Provides mechanism for quickly building new apps, queries and dashboards May 16, 2016 NEW ORLEANS, LA.  CNX announced at the COMMON 2016 Annual Meeting and Exposition today the general availability of version 5 of the Valence Framework for IBM i. Valence 5 features a completely reengineered web portal for logging into Power System servers running IBM i, as well as a revamped tool...
Learn More

Handling Null Dates with Date Selectors

When working with dates on IBM i you will often need to deal with null date values of 0001-01-01.  Depending on the display format you’ve chosen, in a Valence UI designed with Ext JS a null date field will be rendered like this: When the user clicks on the date selector trigger here, a calendar pops up based on the year and month specified in the field.  For a null date, the resulting date selector will look something like this: The positioning of...
Learn More

Styling .xlsx Spreadsheet Cells in Valence 4.2

The VVOUT spreadsheet procedures were enhanced in Valence 4.2 to support the generation of Excel spreadsheets in .xlsx format.  You can see a practical example of these procedures in action by clicking on the download button on any of the entities in the Portal Admin app (the corresponding backend RPG code is located in various VVADM*** source members). The procedure for applying styling to cells in these .xlsx-based spreadsheets is a bit different from the old .xls formatting used in prior versions of...
Learn More

Setting up Valence on IBM i for External Access with SSL

You already know that installing Valence on IBM i and using it internally within your corporate network is fast and easy.  Your company’s employees should also be able to access your Valence instances through a standard VPN connection when they are located outside of your company’s physical network.  But what about when you need to provide secure access to Valence apps to the outside world directly through the Internet? One common example of this kind of external access being applied is a Valence-based supplier portal,...
Learn More

Adding “Record in Use” Control to your Valence Apps

Note: This month’s tip is an update to a blog post originally made a few years ago, when integrated record locking functionality was first incorporated into the Valence RPG toolkit (in version 3.2.20130912.0). When developing apps in which users will be editing the contents of an order or master table record, you have to consider the possibility that multiple users may occasionally attempt to edit the same record or entity at the same time. This is where the domain of “record locking” comes into...
Learn More

Uploading and Consuming a Spreadsheet in Valence

If there’s one common theme among IBM i power users, it’s that they all love playing with spreadsheets! Fortunately, Valence makes it easy to cater to this love. RPG developers simply feed an SQL statement to vvOut_execSQLtoSS() or vvOut_execSQLtoCSV(), and the results are automatically downloaded into an Excel-compatible spreadsheet file. But what about going the other direction? What if users could fiddle with downloaded spreadsheet data and then upload the massaged information to an RPG program that could validate the data and plug it into a physical file?...
Learn More
1 2 3 4 5 6 8