Focal Point
[Not happy]Are you happy with your chaining?

This topic can be found at:
https://forums.informationbuilders.com/eve/forums/a/tpc/f/7971057331/m/5061007803

November 26, 2008, 11:40 AM
Robert Teo
[Not happy]Are you happy with your chaining?
I am not.

We have a number of textbox (6 in all) that are to be loaded. The least amount of lines in a box would be 0 and most 25000 items. It takes like forever (14 seconds) to load these.

We have even placed a recordlimit of 1 in each of the focexec and still it takes forever (more then 10 seconds).

What can be wrong with the chaining?

For me the XML format creates a file 4 to 10 times in size when we compare it to a HTML and this should be a time factor when data is being sent from the server to the client.

Running on WF 7.6.4 and a Windows Server 2003 box.

This message has been edited. Last edited by: Robert Teo,


A message from the darks side, there is!
November 26, 2008, 11:52 AM
Francis Mariani
I haven't started using chaining, but before attempting to answer "What can be wrong with the chaining?", you want to present the user with a 25,000 line text box?


Francis


Give me code, or give me retirement. In FOCUS since 1991

Production: WF 7.7.05M, Dev Studio, BID, MRE, WebSphere, DB2 / Test: WF 8.1.05M, App Studio, BI Portal, Report Caster, jQuery, HighCharts, Apache Tomcat, MS SQL Server
November 26, 2008, 11:55 AM
susannah
Robert, come to Summit09
"Tony A" and I have offered to give a presentation on Chaining techniques with really nasty long dropdowns...just might be the thing for you, if our offer is accepted, that is.




In Focus since 1979///7706m/5 ;wintel 2008/64;OAM security; Oracle db, ///MRE/BID
November 26, 2008, 12:05 PM
Robert Teo
Francis, please note we gave up on the 25000 item box. Everything is set at RECORDLIMIT 1, yet it is slow.

Susannah, thanks for your offer. I hope come to summit. Do you have any tips or such thinks as "do not do's"?

This message has been edited. Last edited by: Robert Teo,


A message from the darks side, there is!
November 26, 2008, 12:10 PM
TexasStingray
Robert,

there is also a difference between READLIMIT and RECORDLIMIT.

READLIMIT get passed to the RDBMS when possible.
RECORDLIMIT means only send this number back to the client, reading all records int he RDBMS.

Also try to avoid ALL when possible this we return ALL records for filtered object and ALL will be pased to it child as well.

Hope this helps some.




Scott

Thanks TexasStingray, I have changed all RECORDLIMITs to READLIMITs but no change. As for ALL, the customer whats that to be the state when starting up.

We will have to to talk to the customer.


A message from the darks side, there is!
It shouldn't take 15 seconds to present 4 listboxes with 1 value (that's what I understand with your readlimit)

Can you make an example with the CAR file so I can check the same report here?


Test: WF 8.2
Prod: WF 8.2
DB: Progress, REST, IBM UniVerse/UniData, SQLServer, MySQL, PostgreSQL, Oracle, Greenplum, Athena.
I think there is a bug in WF 7.6.4 version. We had a closer look at the READLIMIT and it does not work but RECORDLIMIT does, we did this test by running a query through the grinder page.

Frans, I will try to create a CAR version of this.


A message from the darks side, there is!
Robert,

Another solution when you have a large list that the user's insist on seeing is to present 1 value ('All' or 'Select a value') as a static item for each list, when they go to this page.

Then, when they click on the dropdown list, go and get the values (with an onclick event) passing the other dropdown values as parameters. You can use AJAX, here, to speed things up, if you like. You'll also want an onchange event.

If they insist on true chaining then you will have to run all the procedures in succession. If you can get the users to click on each dropdown they want to modify then they will only have to wait for the lists that they want to change and that are large.

Another option is is optimize a FOCUS or XFOCUS db specifically for the large dropdowns.

Another possibility with a large dropdown list is to have the user start typing the first letters of the item they want and use an onkeypress event to get the one or ten items that match or come closest (use LIKE %parm%).

Also, mix and match ideas as they fit your requirements.

IHTH.
Good luck.



Greg



current client: WF 8.1.05 & 8.2 - Windows 7 64bit - Tomcat 7 - MRE / BID - IE11

local: WF 8.2 - Windows 7 64bit - Tomcat 6 - MRE / BID - FOCUS - IE11

PMF 8
December 02, 2008, 02:17 AM
Robert Teo
Thanks gregv.

Just the ideas we needed. We are just starting off with 6 boxes but will end up with around 15 to 20. Xfocus is the way to go.

Once again thanks.
Robert


A message from the darks side, there is!
December 03, 2008, 04:43 PM
ShawnS
I have done chaining at it does take a long time to load, even when sifting through files with less than 4k records. So, I turned to creating js files in a nightly batch process using webfocus. Each file was for each drop-down object and they were thousands of lines long. This enabled instant runtime results on the web page.

This was a little messy, but it worked FAR faster than the canned drop-down chaining logic.


wf 767 running on w2k3 srvr
December 03, 2008, 07:46 PM
susannah
I used to do that too, Shawn.
come to summit, we'll show you a new way




In Focus since 1979///7706m/5 ;wintel 2008/64;OAM security; Oracle db, ///MRE/BID
January 08, 2009, 02:36 AM
Robert Teo
OK guys and gals, as I understand it, chaining is slow (I not surprised, anything coming out from IBI has to be worked on a couple of versions before it settles down) and that there are work arounds.

What is surprising is that we are using only Xfocus DBs and it is slower then the old way in which the application was written. The biggest problem being that we see that all executed focus queries are fast on the server but transporting the result to the client browser is time consuming. There is no real way to increase the speed.

We (sitting nearest to the server) find the loading as slow then imagine the user sitting on the other side of the globe waiting for the page to load.

IBI needs to test chaining over greater distances to really get a feel if the product is working as expected.


A message from the darks side, there is!
January 08, 2009, 04:24 AM
Frans
Hi Robert,

Chaining is not slow by default. If the fex is fast, then there is a problem with loading it to your browser.

So how many lines does your fex create? Do you use 'cache runtime data'? Do you notice difference with IE or Firefox?


Test: WF 8.2
Prod: WF 8.2
DB: Progress, REST, IBM UniVerse/UniData, SQLServer, MySQL, PostgreSQL, Oracle, Greenplum, Athena.
January 08, 2009, 04:42 AM
nubi
quote:
Originally posted by ShawnS:
Each file was for each drop-down object and they were thousands of lines long.


do you mean you were actually assembling the HTML Option Tag via Javascript?

ive tried to set up a JS statement to read and XML list and populate a dropdown and wondered if you were doing it this way as well?


Developer Studio 7.64
Win XP
Output: mostly HTML, also Excel and PDF

"Never attribute to malice that which can be adequately explained by stupidity." - Heinlein's Razor
January 08, 2009, 08:34 AM
Tony A
nubi,

That's exactly what is done within ibirls2.js module. The fex returns a preformed XML file (IB style) and then the js masks out the data tags that it uses - which are c0 and c1. It then create the options dynamically.

T



In FOCUS
since 1986
WebFOCUS Server 8.2.01M, thru 8.2.07 on Windows Svr 2008 R2  
WebFOCUS App Studio 8.2.06 standalone on Windows 10 
January 08, 2009, 09:32 AM
nubi
Excellent,

i thought so- i was muddlingly through trying to use a
  document.createElement 

command in JS to try and create the datasource to then populate the innerHTML of an OPTION set

i don't think was the right method but can now at least look at ibirls2.js to see how they load the xml as a datasource.

its completely uneccesary (as IBI do it all for you) but i want to learn what its doing, having just learned about input boxes and URL parameter creation.

This message has been edited. Last edited by: nubi,


Developer Studio 7.64
Win XP
Output: mostly HTML, also Excel and PDF

"Never attribute to malice that which can be adequately explained by stupidity." - Heinlein's Razor