Put some fancy logic in your grid's summary row cells

CategoryTip of the Month

By far the most popular widget for business apps created with Valence's Nitro App Builder is the Grid, with multiple options for rendering data cells. From simple display features like text alignment, currency/date renderers and conditional cell colors, to graphical images, formulas and conditional if/then logic using basic JavaScript -- just about anything on your IBM i system can be depicted in a user-friendly fashion using a Grid, and numeric values can be easily summarized by simply checking a box.


Integrate spool files seamlessly into your apps

CategoryTip of the Month

Every IBM i system generates spool files in one way or another. From job logs and compile listings to old-school inventory lists and sales reports, spool files can be quite prevalent. Many companies use tools to convert their spool files into PDFs that can be easily emailed or displayed, and Valence is no exception. The Spool File Viewer app included with Valence makes it easy for users to list spool files and download them in PDF form.

spool file

Merging the best of both worlds: Edit Grids + Forms

CategoryTip of the Month

An active business will frequently find a use case for building an app in which users add or update data in a table or physical file. Whether it be maintaining something simple like a list of locations, or something more complex involving multiple linked tables, an application to handle this can be built and deployed super fast using the edit grid widget in Nitro App Builder.

Edit Grid + Form

Pre-selecting grid rows for a superior user experience

CategoryTip of the Month

Requests for new business applications often begin with basic lists of data — a perfect use case for a Nitro App Builder grid widget — then grow from there. In some cases a requirement may entail allowing users to click on multiple records in the list, then take an identical action against all the selected records at once.

For instance, your marketing department might be seeking a list of active customers, from which a user would select a bunch of customers to send a special promotion en masse.


Debugging back-end jobs in a production environment using the old-school 5250 STRDBG

CategoryTip of the Month

Hard as we may try, it's almost impossible to guarantee error-free execution of programs after promotion into a live environment. Even with a crack QA team doing in-depth testing beforehand, inevitably some program will eventually do something unexpected in production that requires debugging. And when such a problem happens in a multi-threaded CGI environment like Valence, determining which job to put into debug to diagnose the issue can be challenging when you're using a 5250-based STRDBG session.


Leveraging NAB's Export/Import Functionality

CategoryTip of the Month

As your repository of data sources, widgets and apps created in Nitro App Builder grows, you're likely to encounter situations where you need to move NAB objects from one instance to another, or even deploy entire NAB apps to another IBM i system or partition altogether. Likewise, you may occasionally have a need to retrieve a prior version of a data source/widget/app in order to "undo" some recent changes.


Please your users with default filter values

CategoryTip of the Month

In your never-ending quest to make your Nitro App Builder-based apps as user-friendly as possible, reducing the amount of typing and clicking required for users to get to the data they're seeking can go a long way. If you know your users will be routinely setting a grid filter to, say, a specific date or date range relative to the current date, or a specific department based on where they work, etc., there are many ways to save them the hassle of having to manually set the filter values each time.

Filter Settings

Investigate behind-the-scenes activities with Valence logs

CategoryTip of the Month

One of the more important elements to keeping your users happy is ensuring the apps with which they regularly interact are performing snappily. As discussed in a previous blog post, users can become impatient or distracted when it takes too long to get to the data they need to do their jobs. So it's critical that developers stay on top of these performance issues as much as possible.

Log inspection