1. Chris Pollach
  2. Beta Testing
  3. Thursday, 20 May 2021 20:56 PM UTC

Hi Everyone;

  For those who would like to help me test the following STD Framework Beta versions or even just download these sample applications to learn how to do PowerClient and/or PowerServer 2021 applications & deployment, you can download the following examples:

PB2019R3 (Build 2703) - PowerClient

  • Supports: IWA, Web, Mobile, Native. Plus older Web Services (.Net 2.0/4.0)
  • Added: Support for PowerClient applications.

Download: http://sourceforge.net/projects/stdfndclass/files/Applications/PowerBuilder/OrderEntry/Beta/PB2019R3/

 

PB2021 Beta (Build 1150) - PowerServer

  • Removed: IWA, Web, Mobile applications (these are deprecated in PB2021) and Web Services (.Net 2.0/4.0)
  • Added: Support for PowerClient and now PowerServer applications

Download: http://sourceforge.net/projects/stdfndclass/files/Applications/PowerBuilder/OrderEntry/Beta/PB2021/

 

  • Note that the above framework versions are now PowerClient & PowerServer "aware"!
  • Please test these OrderEntry Demo Apps that also include the STD FrameWork "Beta" for each PB version. Feedback is most welcome through the STD FrameWork's project hosted on the SourceForge website.

Regards ... Chris

Chris Pollach Accepted Answer Pending Moderation
  1. Tuesday, 22 June 2021 17:40 PM UTC
  2. Beta Testing
  3. # 1

Hi Everyone;

   A new STD Framework OrderEntry Demo App with a new version of the framework for PB/PS2021 has been compiled last night and uploaded to the SourceForge website. This version completes the Grid DWO Save/Restore feature across all PB deployment types! The framework also allows the PB Developer to handle Dynamic DWO's (see Product Dialogue as the example) and also to reset the Grid DWO's back to their deployment default (as per Roland's request), as follows:

  This completes the Grid DW Save/Restore framework feature. I will now continue to enhance the framework with more PowerClient and PowerServer 2021 related features while starting to remove the now deprecated Appeon Web and Appeon Mobile code to make the framework even leaner (memory wise) and faster (execution wise).

  If you have any other suggestions for the STD Framework for PB/PS2021, please feel free to drop me an email with your suggestions.

PS: I have now also uploaded a PB2021 version of the "Code Commenter" utility for the PB2021 IDE on SourceForge as well. It's in the "Beta" section of the CC utility App's folder.

Enjoy!

Regards ....Chris

 

Comment
There are no comments made yet.
Miguel Leeuwe Accepted Answer Pending Moderation
  1. Wednesday, 16 June 2021 22:44 PM UTC
  2. Beta Testing
  3. # 2

Hi Chris,

This is just my 2cts:

Your STD is great and very rich in material for us to learn/copy from, but ....
if you want people to really use it, it would be great if there'd be more documentation on how to really use them.
A lot of us are already re-engineering code on old legacy projects without updated or absence of documentation, and having to learn how to really use them by investing the code of sample apps is not the way to go.
Also, the generated documentation by using Visual Expert is nice, but not very helpful (at least for me).

So please don't think I want to break it down, but en contraire: I'd like people to really start using STD but in my opinion, it lacks a good tutorial/ documentation. A good documented tutorial on how to use them step by step would be GREAT! (PFC's also lack this BTW).

kind regards and thanks a thousand times for all your efforts!

 

Comment
  1. Chris Pollach @Appeon
  2. Thursday, 17 June 2021 17:39 PM UTC
Actually, while at Passport Canada - when I was an independent consultant - him and I converted 3 PFC Apps to the STD framework and built another 3 new Apps from the STD framework as well. After he was hired at the other department full time last year, he went on to convert other PFC Apps to STD framework. Other Government departments in both the US & Canada have done the conversion as well. In general it takes 1-3 months for a small to medium PB App (including Unit and QA test time). Medium to large are 3-6 months and very large PB Apps 6-9 months (again including Unit, QA, System, User Accptance, etc testing). The approach I always use is to bolt on the STD Framework so that both are running (aka available). then slowly over time (and possibly multiple App releases), swap each PFC dialogue / NVUO pairs from using the PFC to the STD framework. On the last App release where no PFC features are no longer used, I just drop the PFC's / PFE's from the library list. However for new Apps ... my I suggest ... LOL!
  1. Helpful
  1. Miguel Leeuwe
  2. Thursday, 17 June 2021 17:49 PM UTC
Seems a lot of work, not saying it cannot be done. The biggest problem for me is that our main application is REALLY badly coded and it's been patched over 15 years by multiple developers, some of them good and some of them really bad. It's very difficult to fix anything without breaking something else. So in my case, I'd only consider your STD classes for any new project (if I can convince my manager).

I do get some stuff out of them now and then though, as I've said in the past: they're a great resource.

Cheers!

  1. Helpful
  1. Chris Pollach @Appeon
  2. Thursday, 17 June 2021 17:57 PM UTC
Yes, I have worked on many PFC apps built that way and also badly patched. The hard thing IMHO is convincing your IT management that a major refactoring job like this has a good long term return for the App & users. That can be 80-90% of the "getting the project started" battle. Good luck Miguel and "don't forget to hug a DW today! ;-)
  1. Helpful
There are no comments made yet.
Chris Pollach Accepted Answer Pending Moderation
  1. Wednesday, 16 June 2021 19:45 PM UTC
  2. Beta Testing
  3. # 3

Hi Everyone;

  Just another update to the latest PB2021 STD Framework Beta (created last night) for PB/PS2021 release now in beta as well.

  I now have a full implementation of the Grid DW that saves and restores the current state of any Grid DWO customization's between instantiations. You can also now reset the "Customized" Grid  DWO view back to its installation default by using the RMB on the Grid DW Control and selecting the new "Reset Grid View" menu item from the resulting pop-up menu, as follows:

 Note: I have not tested the new code yet if it addresses Roland's "Dynamic" DWO assignment. It should, but I have not Q/A'ed that aspect yet.

Also, the new Web Browser control used in the HELP menu dialogue's when viewing the Appeon, STD or Blog websites that uses the built-in web control allows you to now zoom the web content, for example:

Enjoy!

Regards ... Chris

 

Comment
There are no comments made yet.
Chris Pollach Accepted Answer Pending Moderation
  1. Friday, 11 June 2021 02:27 AM UTC
  2. Beta Testing
  3. # 4

Hi Everyone;

  I just uploaded a new framework beta OrderEntry Demo App version that implements a new Grid DW save feature. This feature allows the PB Application developer to allow the business users to automatically save their changes to a Grid based DW Object after resizing, moving, sorting and/or filtering a grid DWO. These changes are now recorded by the framework and then automatically restored when the DWO is instantiated again.

  How it works ....

  1. Inherit your working DW Control from "vs_dc_list_master" that houses the Grid DWO
  2. Set the "ib_griddw_save_definition" property to ON
  3. Specify the library name in "is_griddw_save_pbl" (no suffix)

  You can download the OrderEntry Demo App built from the latest beta framework for PB2021 from the following URL: http://sourceforge.net/projects/stdfndclass/files/Applications/PowerBuilder/OrderEntry/Beta/PB2021

  When running the OE Demo App, open the "Contacts" dialogue (1st icon on the MDI toolbar) and note the grid DW presentation style. Then try modifying the grid like a user could do, for example:

  Then close the Contact dialogue and then reopen it and you should see ...

Note1: This approach currently only works from either the IDE or with Native P-Code based EXE.

Note2: This approach will not work with PowerClient or PowerServer 2021 based Apps as PBL/PDB's are not supported. So a self-modifying code approach like this cannot work.

Note3: I have two other approaches (variations) that should work with PC & PS Apps. These could also support M-Code EXE's.

Note4: I still need to implement a User App "reset" feature to restore the Grid DW to its original design.

Enjoy!

Regards ... Chris

 

Comment
  1. Miguel Leeuwe
  2. Tuesday, 22 June 2021 21:11 PM UTC
I might try it out though (some day). What we do right now is run through hundreds of rows and apply the positions, visibility, width, etc. to each and every column and that also slows down (and we have LOTS of columns). It would be interesting to see how much slower one approach is to the other.

regards
  1. Helpful
  1. Miguel Leeuwe
  2. Tuesday, 22 June 2021 21:21 PM UTC
and finally, to answer your question: no, I wouldn't save the source, just the full state, so no need for a create, just doing a SetFullState() to the corresponding dw control.
  1. Helpful
  1. Chris Pollach
  2. Wednesday, 23 June 2021 01:28 AM UTC
Hi Miguel;

The Get/SetFullState() approach would work as well. It would still require loading the DWO's into a Blob table / column. Then performing a SelectBlob command & SetFullState() afterwards in the PB App for each DWO instantiation. I'm not sure though if this technique would be faster than the DWO source + Create() as the FullState could be a larger data stream vs DWO source (especially, if it was compressed).

One disadvantage for sure in the Get/SetFullState approach is that the DWO binary is release dependant. So after upgrading your PB IDE / Runtime & recompiling, you would need to reload your Blobs again with the new FullState binaries.

Whereas the DWO source would allow your App to pick the time when you want to update the DWO blob source.

Food for thought.

Regards ... Chris
  1. Helpful
There are no comments made yet.
Chris Pollach Accepted Answer Pending Moderation
  1. Sunday, 6 June 2021 03:08 AM UTC
  2. Beta Testing
  3. # 5

Hi Everyone;

  Another update on the STD Frameworks ...

PB2019R3;

  This version of the STD framework has now been released as a GA release ...

http://chrispollach.blogspot.com/2021/06/2021r3.html

  There have been over 280 refactored code changes to better support the PowerClient feature and also align the Framework for PowerServer 2021 support.

 

PB2021 Beta;

  A new beta of the STD framework has been released for PB/PS2021 today. You can download the STD Framework Demo App built from this new framework version from here:

http://sourceforge.net/projects/stdfndclass/files/Applications/PowerBuilder/OrderEntry/Beta/PB2021

This version has the following changes:

Added ...

  • PowerServer 2021 support
  • PipeLine now detects PS2021 (PL unsupported by PS2021)
  • BASE2 and BASEW framework library object classes now consolidated into BASE.
  • PowerClient projects (32bit & 64 bit)
  • PowerServer projects (32bit & 64 bit)

Removed ...

  • BASE2 & BASEW libraries
  • SOAP Web Services Target (deprecated)
  • PowerServer Web Target (not supported by PS2021)
  • PowerServer Mobile Target (not supported by PS2021)
  • Library Appeon_Cordova.pbl (Mobile)
  • Library Appeon_Workarounds.pbl (Web/Mobile)
  • Library STD_FC_WS_Base.pbl (Web Service)

 

Regards ... Chris

Comment
  1. Chris Pollach
  2. Monday, 14 June 2021 16:09 PM UTC
Hi Everyone;

I just uploaded a newer version of the 2021 "beta" framework from last weekend's work (June 12, 2021) that supports the PB/PS2021 product beta and includes an update to the new Grid DWO Save/Restore feature. This latest version supports *all* the PB/PS compile options so that any Grid DWO can be saved & restored between a Window Open/Close or a complete App restart. This latest version now supports the Grid DWO save/restore feature in either an: M-Code, P-Code, PowerClient and PowerServer based Apps - and, no matter if its a 32 or a 64 bit compile. :-)



Note: The Grid DWO Save/Restore is also now language enabled and will save/restore each *unique* DWO by language. Thus the same Grid DWO's grid line(s), column position, width, sort, filter as saved uniquely by language. This is especially useful where Grid DWO's have larger heading and detail column data in some languages. ;-)



Enjoy - Regards ... Chris
  1. Helpful
  1. Chris Pollach @Appeon
  2. Tuesday, 29 June 2021 13:29 PM UTC
Hi Everyone ... FYI: A newer PB2021 beta version of the framework was uploaded last weekend. The major changes were the start of the removal of the WEB and Mobile code. I would estimate that about 70% of this code is now gone. I will continue to update the beta PB2021 framework at least once a week as I remove more of the remaining PS2020 Web & Mobile code.

http://sourceforge.net/projects/stdfndclass/files/Applications/PowerBuilder/OrderEntry/Beta/PB2021

  1. Helpful
There are no comments made yet.
  • Page :
  • 1


There are no replies made for this question yet.
However, you are not allowed to reply to this question.