Limit to number of forms in Solution model?

Hi,

We are running into a strange problem with the solution model. Here is the situation.

We are building a solution with a large number of forms that are build using the solution model. Each form is placed on a so called “widget”. A widget can contain one ore more forms. We have built approx. 70 widgets this way. They are not all shown initially. As soon as we increase the number of widgets that the solution model needs to generate, things go wrong. With wrong I mean that not all forms are build any more by the solution model. Here are some characteristics:

  • The forms that are skipped by the solution builder are not consistent.
  • The number of forms that is skipped is not related to the number of extra forms we add (so on top of the 70, if I add 3 more up to 10 other forms are not generated)
  • The limit does not seem to be related to foundsets since placing dummy forms without a data-source has the same effect as placing actual forms
  • The memory settings for heap-space etc. on the developer machine have no effect.

The development environment is:

  • Servoy 5.2.8
  • OS: windows 7
  • App environment: web only
  • Browser: FireFox 4.0.1

Off course I would like to know if there is a known limit ot the number of forms you can create in one go with the solution model or is there another area we can have a look at.

I’ll attach some screen shots to show the behaviour.

[attachment=1]wrong.png[/attachment]

[attachment=0]right.png[/attachment]

the only limit there is is your memory of your client (and for web the memory on the server)

If you show the same thing in the smart client does it work then?

IE has a know problem of 31 CSS files, and every form is a css file so in IE you can hit a barrier.
I have no knowledge of such a problem in FF.

but which forms you don’t see and what is exactly that you dont see? is for example the onload and/or onshow method hit for those forms?

Hi,

The amount of memory on the client and server is the same since I’m running developer on a local machine. We tried on several machines with a different amount of memory allocated (both in the machine and as reserved memory in Servoy.ini). None of the configurations or settings make a difference in behaviour.

The problem is also exactly the same in both smart and webclient, so smartclient does not show the forms either. No browser limit there.

The forms we do not see are not loaded in the interface and so both an onShow() or onLoad() method (I made one with a simple application.output) are not fired.

When debugging the build methods we do not see anything strange. All forms seem to get generated, but they are just not pushed to the interface.

Is this a case for support?

Wouter.

but if you would do forms.formthatdoesntshow.controller.show() it does not show up?
Thats hard to believe

Make a case with a reproduce able sample

Hi,

The form does show when you do an application.showFormInDialog, but it does not show when it’s loaded in a tabpanel with other forms. It is also not related to a specific form or specific tabpanel. When we go over the limit it is unpredictable which forms are loaded and which forms aren’t.

Making a sample solution to reproduce the problem is not going to be easy, since it is unpredictable. We will try to reproduce somehow and post a support case asap.

W.

so the forms and so work fine standalone so there is nothing wrong with the solution model part of it…

It is that they don’t show up in your tabs? so the tabs stay blank? are always the last once blank or are the first once dropping?

It’s not the forms themselves it’s the showing part. We can not rule out the solution model since it is all build using it. So all tabpanels, forms and other elements are build using the solution model. What I could see is that when I show a form in another location it could display, but the same form in another location won’t.

It is that they do not show up in my tabs, but the tabs are not completely blanc. As you can see from the screenshots some forms are loaded and some aren’t.
It is not always the last once’s that drop, it is arbitrary. And remenber that they all come back as soon as I deactivate a few. The once I deactivate (take out of the build process) do not matter as long as I stay below a certain number (about 70).

W.

if showing up in a tab is the problem then there is somehow the problem, the tabpanel doesn’t show it/stays blanc.

the thing is if you also really don’t get onload (or onunload) events for those forms, then they are really not created at all. But if you show them standalone then they work, that means that the forms in the solution model are working just fine.
Then the problem is somewhere else, you are sure that you only show 1 form instance once right?

yes, we show only 1 instance of each form.

Could it be that this problem is related to a case that I submitted (case 389834), where tabpanels get mangled when a recreateUI is performed?
If we actively do a recreateUI on a form containing the tab-panels, we get similar behavior as shown in the screenshots, but then ALL forms on the view are gone.

that case is already fixed, so in the next build you could test this if it works for you

Do you have an estimation of the release of the new build?

Hi,

The new fix did not solve this issue only the other. As Norbert said we are sure we only show one instance of a form.

R,

Wouter

i can’t help you this way then anymore, something like this must be really debugged to see what is happening.

You could do it a bit your self by looking when it happens what forms there are what is inside tabpanels by asking what tabs they show
and for example ask for: controller.getFormContext() on the form that should be in a tabpanel but isn’t. To look where it then really is.

Hi,

I know it’s a hard problem to debug. It looks like this is going be something we need very specific support for. We’ll try to find the best way to make a clear case of it.

Thanks so far for thinking along.

W.