Welcome to the Appeon Community!
Learn, share knowledge, and get help.
Why enhance JSON handling?
Reading and writing JSON in PowerBuilder is simple using PowerBuilder’s RESTClient object; however, the JSON needs to be in a two-dimensional format. But there are times when the JSON you are working with has multiple nested levels, especially if working with data from an external interface not under your control.
The PowerBuilder objects JSONParser and JSONGenerator can be used to parse or generate such JSON with multiple nested levels. However, a key caveat is that the JSONParser and JSONGenerator require the JSON data to be accessed through “handles”. For example, the getItemObject() returns a handle rather than the full JSON object. Compared to an object-based approach, this handle-based approach requires more coding by the developer.Read more
Download this Mobile UI Framework that also works on desktop and Web with Appeon from the link on my blog :
Did you know that Powerbuilder 2019 could run on Linux ?
Since Powerbuilder 2019 is now in 64 bit, it is now a lot easier to run on Linux using wine64Read more
REST support was added to PowerBuilder in 2017 R2 and enhanced in 2017 R3. PowerBuilder 2019 contains additional significant enhancements to REST support, including the following:
- RetrieveOne method – For REST methods return one row
- Submit method - sends request and returns data in one operation
- SetRequestHeader behavior modified
- GZIP compression handled automatically
- Send[Method]Request, where method can be Get, Put, Post, Patch, Delete
- Get and Set OAuth token methods
- Get and set JWT token methods
Support for the JSON format was added in the PowerBuilder 2017 R2 release and then enhanced in 2017 R3. PowerBuilder 2019 contains even more enhancements in this area, particularly with regard to:
- Enhanced JSONParser
- Enhanced JSONPackage
- DataWindows Row Level Import/Export
- New ModelStore JSON Format
Two factor authentication is a way of increasing the security of an application by requiring the user to provide more than a simple password (one factor authentication). Two factor authentication utilizes two of the following factors to identify the user:
1. Knowledge - something you know - for example, your password
2. Possession - something you have - for example, your cell phone or access to your email account
3. Inherent - something you are - for example, fingerprints or eye iris
The third factor is out of scope for this particular article We're going to look at adding the second form (possession) to a PowerBuilder application. Specifically, we're What going to use Google Authenticator, an application for mobile devices (and the desktop) that generates time based one time temporary passwords (TOTP) for use with 2FA.
The sample code for this article is available on CodeXchange.
ISSUE: Receive error “No Network Connection” on logon to PowerBuilder
SYMPTOM: Error “No Network Connection” was received on every attempt to open PowerBuilder and occurs immediately on version installation. Experienced on install of V19 - but may be experienced in other versions. When initiating PowerBuilder process hangs for a long time and then returns a message “No Network Connection”. You exit and the application closes.Read more
This document will describe how to work with transactions for CRUD operations (create, read, update and delete) in .NET DataStore.
For the full content of the document, see https://www.appeon.com/support/documents/appeon_online_help/powerbuilder/Working_with_Transactions_in_.NET_DataStore_and_ModelStore/.
This tutorial demonstrates the basics of creating, in SnapDevelop, a Web API with ASP.NET Core that will use .NET DataStore as its data manipulation component.
In this tutorial, you will learn to:
- Create a Web API Project
- Test the API
- Add a Database Context
- Register the Database Context
- Add a .NET DataStore Model
- Add a Service
- Perform CRUD Operations Using the Web API
- Call the Web API from PowerBuilder
To view the full content of the tutorial, see https://www.appeon.com/support/documents/appeon_online_help/powerbuilder/CRUD_Operations_with_.NET_DataStore/index.html.
This document will describe how to track actions with SqlModelMapper. SqlModelMapper enables you to track database table operations, as well as actions which encapsulate customized methods. These actions will be called when the SaveChanges() method of the SqlModelMapper is called. This enables you to perform several different tasks and operations on the data before the transaction is committed.
To view the full content of the document, see: https://www.appeon.com/support/documents/appeon_online_help/snapobjects/Tracking_Actions_in_SqlModelMapper/index.html.