Tech Articles


PowerBuilder 2017 R2 New Feature: Subversion (SVN) source control support


PowerBuilder's initial support for version control systems required drivers for specific vendors (e.g., PVCS) and often for specific versions of that vendor's products.  It was not unusual to find that you needed to wait to upgrade your source control product until PowerBuilder released an updated driver for it.  And if your source control provider wasn't supported by PowerBuilder you were simply out of luck.

 

 

That changed with PowerBuilder 6.  With that release, PowerBuilder abandoned the vendor specific drivers in favor of the recently introduced Microsoft Source Code Control Interface (MSSCCI).  Essentially an ODBC for version control, it freed the IDE from vendor lock-in.  Provide the source control provide provides an MSSCCI complaint interface, or there was a 'bridge' product available that could convert MSSCCI calls into the source control providers native API calls, PowerBuilder could use the product.

Read more

PowerBuilder 2017 R2 New Feature: REST


One of the new features added to PowerBuilder 2017 R2 is support for REST web services.  This feature isn't 100% complete, as additional REST functionality is planned for 2017 R3.  There's still a lot in the R2 release to look at though.

To make things simple for the demo, we're going to use a online REST web service called JSONPlaceHolder..  The service doesn't require creating an account or user authentication.  While the GET (retrieve) methods are fully functional the POST ( insert ), PUT/PATCH ( update ) and DELETE (delete) methods are placeholders.  They return result codes or in the case of POST the id value of the inserted row, but they don't actually modify the data.

Note that while REST web services can return data in any internet mime encodable format, the vast majority of them use JSON  and JSON is the only data format supported by the REST client object in PowerBuilder 2017.

Read more

PowerBuilder 2017 R2 New Feature: Stand Alone Compiler Enhancements


The stand alone compiler was first introduced in PowerBuilder 2017.  It's primarily of interest for shops who perform routine (perhaps daily) builds of their PowerBuilder based applications, usually in order to perform manual and/or automated testing in order to capture bugs as soon as possible after they are introduced into the code base.

While you could perform command line compiles using the PowerBuilder IDE (and still can) it does require an additional license for the IDE, and it has a few drawbacks (e.g., stopping and displaying a messagebox nobody can see on some error rather than exiting with an error code).

One issue with the initial version of the command line compiler introduced in PowerBuilder 2017 is that it didn't support every option available in the PowerBuilder project painter.  Therefore, if there was some particular feature that use used in the project painter (e.g., generating an external manifest or no manifest at all) it wasn't possible to use the stand alone compiler and get the results you needed.

Read more

PowerBuilder 2017 R2 New Feature: PostgreSQL support


One of the new features in PowerBuilder 2017 R2 is support for PostgreSQL.  We're going to take a look at using this new (to PowerBuilder) database.

Installing PostgreSQL and ODBC driver

PostgreSQL is an open source database licensed under the PostgreSQL license, similar to the MIT license.  Downloads for the Windows operating system are available from here.  PowerBuilder uses ODBC to access PostgreSQL, so you'll need to get an ODBC driver as well.  The one from PostgreSQL is available here, although there are third party ODBC drivers as well.  When I was testing out this new feature I used the BookTown sample database from O'Reilly Media.

Creating an ODBC database profile

After importing the booktown data using pgAdmin (the admin tool for PostgreSQL), I defined the a system ODBC profile for the database as follows:

Read more

Revisiting Continuous Integration with PowerBuilder 2017, Bonobo Git and Jenkins


In a previous blog post I ran through a example of how to use the new command line compiler feature of PowerBuilder 2017 to perform continuous integration using Jenkins and a Git repository.  One of the "next steps" I referenced in the close of that post was the creation of a plug-in for Jenkins that would make creating the build steps for the project much simpler.

Well, I've created such a plugin.  Or more specifically what I did was take the existing MSBuild plugin and customize it to create a number of plugins to do PowerBuilder compiles instead.

In this post I'm going to look at how we can use those plugins, plus some additional changes I've made to the project in Jenkins to make better use of the capability of Jenkins and other Jenkin plugins.

Read more

Configuration Process for PB 12.6 and TFS 2017 Using Team Explorer 2013/2015


This article presents the configuration process of PowerBuilder 12.6 with TFS 2017 (server) using Team Explorer 2013/2015

This article has four sections:

  • Prerequisites.
  • Setup Team Explorer 2013/2015.
  • PowerBuilder Configuration.
  • Complementary Information

 

1. Prerequisites

  1. Verify that the DPI font is 96 (100%) .
  2. Create a new folder on C: drive (C:\MyApp is my example) and copy your application on it.

IMPORTANT: See Numeral 1 of PowerBuilder Configuration section, about folders structure.

Read more

How to get the application path


This example shows how to get the application path for development and deployment environments. This is compatible with PB 12.6.

I recommend to use a NVO to develop this functionality.

1. First declare the Local External Functions:

FUNCTION int GetModuleFileNameW(&
           ulong hinstModule, &
           REF string lpszPath, &
           ulong cchPath) LIBRARY "KERNEL32.DLL"

FUNCTION ulong GetCurrentDirectoryW (&
  ulong textlen, &
  REF string dirtext) LIBRARY "KERNEL32.DLL"

 

Read more

Find Articles by Tag

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