Lazy Loading in Tab View

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

Lazy Loading in Tab View

jesintha_p
Hi All,

I am currently trying to upgrade my application from Orbeon 3.7 to 3.9. In parallel we are trying to optimize one of our page performance which currently takes 15 sec - 2 minutes to load.

Our existing page used for editing/creation of XML content  uses the widget tab. we have around 10 tabs maximum and a single instance reference with multiple groups of control.

For ex: XML will be around 100 kb, with structure

<fdr:organization>
     <fdr:organization-info>
            <child-nodes>
              .
              .
              .
     </fdr:organization-info>
     <fdr:organization-contact>
             .
             .
    </fdr:organization-contact>
            .
            .
 </fdr:organization> 

Each first child nodes of "fdr:organization" is  represented as a group/tab and its children  as control for editing the value within the tabs.

Since there are 100 drop down controls (some time used in repeat for unbounded elements) and each is presented by select control, the list instance and the page is becoming very heavy (45 mb)  and it takes 15 seconds to 2 min to load depends on the number of unbounded element occurrence. The orbeon forms consume lot of memory even applying shared, caching and read only properties for lookup instance.


We tried to use tab view to show relevant data in the page and auto-complete control  to load list of values used as a lookup in the drop down when user tries to change the value.

We successfully reduced the page size by implementing the auto-complete control. But facing challenges in implementing lazy load in the tab view control with the existing model and page design.


We have a main JSP page for constructing model, instance and tab view, each group data is represented in a seperate JSP and included in the relevant tab. Currently the page loads in 15 - 40 seconds, we are trying to reduce this further by implementing lazy loading (load data for a single tab at a time). I have used different mechanics but the implementation end up as a nightmare.

Can you please help me here if you know a solution for the lazy load with our existing model.  


Thanks,
Jesi