1. S&F Datentechnik
  2. PowerServer
  3. Thursday, 24 February 2022 10:50 AM UTC

Hi,

we are using the addToLibraryList() function to dynamically extend the library list of our application, to dynamically use other/new powerbuilder objects like datawindows etc. This seems to be not fully supported anymore when deploying a powerserver cloud app, because e. g. for the datawindow objects there have to be c# models to be created so the powerserver webapi can load data from the database by the c# models.

Is anyone also using addtolibrarylist to extend there librarylist so far? Maybe anyone already found a solution or workaround to also use this kind of extend the applications "source code" after the deployment.

Thanks in advance.

 

Regards,

Jonas Schwartz

Heino Hellmers Accepted Answer Pending Moderation
  1. Thursday, 24 February 2022 19:58 PM UTC
  2. PowerServer
  3. # 1

Hi,

so what is needed is the features for a dynamic datawindowchilds.

Some years ago this was on the roadmap for new Powerbuilder Features.

In newer roadmaps this was canceled.

Any chance to get this back what the older powerserver already was able to do?

 

Armeen, what do you think?

 

TiA

Heino

Comment
  1. Armeen Mazda @Appeon
  2. Thursday, 24 February 2022 20:05 PM UTC
Our team is double checking feasibility. Old PowerServer did not use PBVM so completely different implementation didn’t inherit this limitation from Sybase days.
  1. Helpful 1
There are no comments made yet.
Chris Pollach @Appeon Accepted Answer Pending Moderation
  1. Thursday, 24 February 2022 18:22 PM UTC
  2. PowerServer
  3. # 2

Hi Heino;

  That was just the scenario (Use Case) that I described earlier that many PB & IM customers use in their PB Apps. So unless PowerServer supported dynamic PBL's you could not implement your PB Apps in that technology. You would have to refactor them to use a different implementation strategy. However, I am not sure what that would be offhand. I will have to take Roland's direction and drink some more Mountain Dew and ponder this one a bit more.  ;-)

Regards ... Chris

Comment
There are no comments made yet.
Heino Hellmers Accepted Answer Pending Moderation
  1. Thursday, 24 February 2022 16:54 PM UTC
  2. PowerServer
  3. # 3

Hi all,

 

this is not a really solution for our needs.

 

We have a lot of nesteds in our reports. And also our nesteds have more nesteds.

 

Also we are Using  in some cases dddw's for special reasons.

 

In addition nested reports are shared between different main reports.

 

Also thinking about compute reports.Currently our customers are working with INfomaker and create their reports as needed.

Now they want to integrate their own reports into our PowerBUilder Apps.

 

In the past we did this by addition the customers PBL file to the librarylist and everything works as needed :-)

 

So how to do this with PowerServer 2021  in the same simple way?!

 

TIA
Heino Hellmers

 

 

Comment
  1. mike S
  2. Thursday, 24 February 2022 18:00 PM UTC
yeah, no easy answers for you.

powerserver prior to version 2021 allowed you to set and load (i believe) both nested datawindows and dddw's datawindows at runtime which PB never supported. this is one of the features i requested for PB (and thus PS2021). This was in the mark bemis presentation.



As for customer's creating reports, i gave up on infomaker and just built my own report writer in my application. It has the added benefit to eliminate customers doing bad/incorrect joins since that is all built into it.



i'll send you an email directly
  1. Helpful
  1. mike S
  2. Thursday, 24 February 2022 18:45 PM UTC
this is from the presentation. PB and PS2021 do not support this, but the old PS did:



a_datawindowCHILD.Dynamic Create ( ls_syntax, ls_error_msg )

• Note the “Dynamic” keyword. The standard PowerBuilder DataWindowChild object does not support the Create method, but when running from powerserver it does
  1. Helpful
There are no comments made yet.
Armeen Mazda @Appeon Accepted Answer Pending Moderation
  1. Thursday, 24 February 2022 16:28 PM UTC
  2. PowerServer
  3. # 4

The way Mike said to do this is the right way.  The n-tier architecture of PowerServer is not going to allow for dynamically adding PBDs containing any DataWindows or SQL.  So please DO NOT WAIT hoping we add this, and move forward to modify your technique.  

Comment
There are no comments made yet.
mike S Accepted Answer Pending Moderation
  1. Thursday, 24 February 2022 14:27 PM UTC
  2. PowerServer
  3. # 5

Adding datawindows at runtime (especially for custom reports) can/should be done by storing the syntax in a database or blob service and loading it from there. 

We used to do it using with setlibrarylist and changed over to storing custom datawindows in database blob fields for reports when we added powerserver to our product mix.  I like this much better than the pbd/pbl addtoliblist that we did before for this.

We also use runtime modifies that store changes to datawindows mainly for data entry screens.  This has been extended out to allow for things like user defined edit checks.  All of this is stored in the database so it can be done with powerserver.   The bonus is that we built a front end for customers so they can do this themselves.

 

 

Comment
  1. mike S
  2. Thursday, 24 February 2022 15:43 PM UTC
Chris,

Mark Bemis did a fantastic presentation 10 year ago on that very use case - "Techniques to Store User-Created Datawindows and Graphics in the Database" and showed how you can do all of that including even storing things like bitmaps, dropdowndatawindows and more. Of course, infomaker can only work if the infomaker users have direct access to the database which is usually not the case in ISV SAAS applications. In Mark's examples however, the infomaker user did have access to the database. It was one of the best presentations i have seen.



that is very interesting that PS now supports adding PBDs at runtime!



  1. Helpful
  1. Chris Pollach @Appeon
  2. Thursday, 24 February 2022 15:58 PM UTC
Yes, I love the DB for that too. In fact, I just did a POC example App that draws all DWO's from an external source (WS, File or DB) and then drives them into a PowerServer 2021 App dynamically at run time. I am happy to report that all DWO's worked 100% and the PS App was deployed with *no* DWO's and PS Server handled the dynamic DWOs like a "trooper" at run time. I was very impressed! :-)

Note: I have *not* released that STD Framework example App but maybe I should in the near future. Hmmm ... could be an interesting Elevate 2022 presentation. :-)
  1. Helpful
  1. Heino Hellmers
  2. Thursday, 24 February 2022 16:57 PM UTC
Hi Mike,

Hi Chris



This doesn't work for our needs,



please see my reply below with details.



best regards

Heino Hellmers
  1. Helpful
There are no comments made yet.
Chris Pollach @Appeon Accepted Answer Pending Moderation
  1. Thursday, 24 February 2022 13:42 PM UTC
  2. PowerServer
  3. # 6

Hi S&F;

   The SetLibraryList & AddToLibraryList commands are not supported in PowerServer applications. This is documented in the PS2021 documentation. However this restriction is a bit "burried" in the docs. There is a Support Ticket open to better qualify this restriction in the documentation.

Regards .... Chris

Comment
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.