PowerBuilder Authors: Chris Pollach, Yeshim Deniz, Jayaram Krishnaswamy, Kevin Benedict, Avi Rosenthal

Related Topics: PowerBuilder, Microsoft Cloud

PowerBuilder: Article

Hey Buddy, Can You Spare Some Code...?

Facilitating online communities of end users

PBDJ - PowerBuilder Journal

PowerBuilder fans have been sharing code with one another since...well at least since the beginning days of CompuServe in the early 1990s. When PowerBuilder users gathered in just a single section in a general interest programming forum, we had an associated file library section, and when we moved to our own PowerSoft forum we had a series of file libraries.

That changed a bit when PowerSoft moved the end user forums off of CompuServe and onto NNTP servers. The code samples that had been shared on CompuServe got moved on the PowerSoft (and then later Sybase) website download areas. But there really was no way to upload samples, and no other centralized area where PowerBuilder fans could share code. A few third-party sites allowed end-user contributions; most notably Boris Gasin allowed end-user contributions of PFC-related samples on his pfcguide.com site. For a while a number of the TeamSybase members provided code samples on the TeamSybase.com site; but for the most part we didn't accept contributions from outside the team.

In 2003 that changed when Sybase opened up a collaborative development environment on their website called CodeXchange - based on Collabnet's SourceCast product. Not only could we share code samples, we could actually work together on code projects, similar to the capabilities provided by sites like SourceForge. Of particular interest to many PowerBuilder developers, the open source PowerBuilder Foundation Classes (PFC) project was hosted on CodeXchange.

However, if there's one thing that's constant, it's change. Just as CompuServe forums gave way to NNTP newsgroups, NNTP newsgroups have given way to other means of end-user to end-user communication, such as web-based forums. Sybase was aware of the shift, and added a web-based forum interface to the existing NNTP newsgroups. However, that interface has failed to keep up with the features available in most web-based forums today, and so Sybase has been investigating moving to a more modern approach to facilitating online communities of end users.

With regard to code sharing, what Sybase also noticed is that the vast majority of activity occurring on CodeXchange was simple file sharing. There were very few projects (PFC being the main exception) that were really taking advantage of the collaborative development features that SourceCast provides. To that end, they discontinued use of the SourceCast product and started including file sharing capabilities in their list of requirements for the next generation of their online communities. In the meantime, a somewhat more static version of CodeXchange was provided so that people could continue to access the existing code samples while a better solution was being researched.

However, that's caused a few problems:

Sample code submissions to CodeXchange have virtually stopped. In fact, the site indicates that "During our project transition, code can not [sic] be submitted to CodeXchange. We will be creating a ‘submit code' form for each project shortly." Well, the transition began one year ago, and there's still no "submit code" button. Fortunately, there is a way to continue to submit code to the site, simply by emailing the code sample to the person responsible for the site: Jonathan Baker of Sybase ([email protected]) and providing him with the following information:

  • The version of PowerBuilder the code is written in
  • The "folder" you would like it to go in on the PowerBuilder CodeXchange page
  • The Name and Description to go with the file

Collaborative development on PFC did stop. That problem was a bit trickier to resolve, as a new collaborative development location would need to be found and the source code would need to be moved to the site. One particular issue is that the vast majority of collaborative development sites utilize something like CVS or Subversion as the source control system powering the site. PowerBuilder currently only directly supports MSSCCI for interfacing with the source code control system. Trying to get PowerBuilder to talk to CVS or Subversion requires a bridge product (something that translates MSSCCI calls to something the underlying source control system understands), many of which either cost additional money or don't always work as expected.

Fortunately, I was able to find a code collaboration site that supports MSSCCI, and have created a new PFC project there. I actually completed that in December of 2008, but have only started advertising its availability recently. You can find it here.

Technically, it's powered by Microsoft Team Foundation Server, but they provide their own MSSCCI provider at http://xrl.us/MSSCCI.

The real question is whether PFC fans are willing to participate in its further development. For whatever reason, little progress was made on PFC for the five years or so it was hosted on CodeXchange, other than migrations and small tweaks to work with newer versions of PowerBuilder. If the problem was with the SourceCast platform (which was CVS/Subversion based, so interacting with source control was difficult) or with the way the project was being administered, then the new collaborative PFC site has a chance. If PowerBuilder developers simply aren't interested in doing collaborative development on a framework (since most PowerBuilder developers like to do high-level business requirements work, not low-level framework activities), then rehosting the project will make little difference.

If the latter is the case, the good news is that there is a backup plan. Terry Voth has taken the PFC code and created his own fork that he maintains as a non-collaborative effort. At the time of this writing, he has a build available for PowerBuilder 11.5 here

I haven't given up hope that PFC fans will want to contribute to the development of an updated version. If you feel the same, create an account on the CodePlex site and let me know, so I can add you to the development team.

More Stories By Bruce Armstrong

Bruce Armstrong is a development lead with Integrated Data Services (www.get-integrated.com). A charter member of TeamSybase, he has been using PowerBuilder since version 1.0.B. He was a contributing author to SYS-CON's PowerBuilder 4.0 Secrets of the Masters and the editor of SAMs' PowerBuilder 9: Advanced Client/Server Development.

Comments (0)

Share your thoughts on this story.

Add your comment
You must be signed in to add a comment. Sign-in | Register

In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.