Tech Articles


Implementing OAuth 2.0 Authorization with PowerBuilder 2019 R2


Introduction

PowerBuilder supports getting secured data from the OAuth 2.0 authorization server. The Bearer access token is supported, and the following grant types are supported:

  • Authorization Code
  • Implicit Flow
  • Client Credentials
  • Extension (or Refresh Token)
  • Resource Owner Password

This document provides an example on how to set up OAuth 2.0 authorization workflow using the Authorization Code grant type in a PowerBuilder application.

Read more

How to Define Events for RibbonBar Controls


Learning to define user events for items in the RibbonBar control feels like a lot of trial and error.
Different items support different events. Same event type requires different parameters.
My aim with this article is to take "... and error" out of your RibbonBar coding.
For each ribbon item type you get user event definitions that work.

 

 

      

Each ribbon item has its own XML element (here: Print Title is a CheckBox).
Each item binds specific user events via properties (here: Clicked on CheckBox binds to ue_PrintTitle)
Each user event must have the correct parameter list (here: Clicked event for CheckBox always requires al_handle while no other parameters allowed)
Each item type has its own PowerScript class and functions to obtain the object (here: Obtain class = RibbonCheckBoxItem via function GetCheckBox)
 

Read more

Enhanced JSON handling


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

Powerbuilder 2019 on Linux


 

From Windows to Linux 

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 wine64

Read more

How to deal with the error 'No Network Connection' on logon to PowerBuilder


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

Working with Transactions in .NET DataStore


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/

CRUD Operations with .NET DataStore


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

Find Articles by Tag

.NET Std Framework Interface Open Source RichTextEdit Control Icon SOAP UI Linux OS Syntax MessageBox SqlModelMapper Testing Bug Oracle Git SnapObjects Configuration XML PowerServer Web Transaction Authorization Migration TortoiseGit Application OLE PowerBuilder TFS Window Platform Windows 10 Icons RESTClient Database Table Elevate Conference Database Profile Trial .NET DataStore Deployment Database Validation CrypterObject Model RibbonBar Builder PFC Database Object Menu Database Painter Text Import JSON Service PDF GhostScript PowerScript (PS) iOS SVN TLS/SSL OrcaScript UI Themes Array COM Performance Repository Web Service Proxy SQL Server InfoMaker ActiveX SDK RibbonBar PowerBuilder Compiler Import Event Debug UI Modernization Jenkins License Debugger Error DevOps Web API BLOB DataWindow Database Table Schema Database Connection NativePDF PBNI Automated Testing Encryption Source Control WinAPI Resize 32-bit API PowerServer Mobile ODBC Sort DragDrop Branch & Merge Event Handling External Functions PostgreSQL DataWindow JSON Export JSON PostgreSQL ODBC driver Export Visual Studio .NET Assembly TreeView HTTPClient Installation Outlook JSONParser REST Excel SnapDevelop OAuth Script Event Handler CoderObject Data SQL Source Code Android Class Azure Windows OS Database Table Data Messagging PowerBuilder (Appeon) JSON Authentication C# PDFlib IDE PBVM Expression CI/CD Stored Procedure Encoding OAuth 2.0 Charts SqlExecutor DLL JSONGenerator WebBrowser Filter Graph Debugging Design Variable File Mobile DataType 64-bit PBDOM