XForm Performance

classic Classic list List threaded Threaded
16 messages Options
Reply | Threaded
Open this post in threaded view
|

XForm Performance

stacyladnier
We are creating a very large XForm containing several hundred widgets and using over 100 XBL components. The form is currently divided up into seven sections accessible via tabs. The form also contains several models used to assist in deleting items, expand/collapse subsections, control datatables and provide selection list values.

The form can take up to 2 minutes to load, which is not acceptable. We have to determine how to speed it up.

One nagging issue is we have a collection of 7 images that could each appear on the form several hundred times. Is there a way to declare the image once and reference an already loaded, cached image somewhere else?  Would it be best to serve images up with apache and call them from there? Basically, how can we prevent the browser from loading the same image up again and again and ....

Is there a way to control how much of the form is built on initial load, only having the items on Tab 1 built and displayed at first? This may reduce the time to call the page up. When Tab 2 is selected, we could build that section of the form, and so on.

I read several posts regarding reducing the size of css files and js files by removing spaces and blank lines. Is this incorporated in the core now or something we still need to do? Does this trick also apply to our XForms and XBL components?

I also read a post on the HTML page not displaying any portion of the form until the script is completely loaded. Ref (http://forge.ow2.org/tracker/index.php?func=detail&aid=304615&group_id=168&atid=350207). Any plans to address this issue?

Any other tricks, i.e. use of variables to only look up path to instance once, that you can let us know about while we work to speed up our form?
Reply | Threaded
Open this post in threaded view
|

Re: XForm Performance

Jeremiah Jahn-4
I don't know about XForms in particular, but the browser should on;y
be pulling the image once, in general. I'd suggest that you make your
form a process to speed things up, and not try to load all of the
needed components and javascript at once.  i'm sure this goes against
what has already been developed, but  if you have a place to display
over 700 images you probably have an opportunity some where so
simplify your UI and make it more streamlined.  You might want to try
making each tab a separate form as well. A number of browser have
resource tools in them that will tell you how long different aspects
of the page are taking to load, you might ant to check these out. I'd
lay money down though on the browser taking too long to process the
data/scripts, and not that bandwidth was your problem.

On Wed, Sep 2, 2009 at 2:45 PM, stacyladnier<[hidden email]> wrote:

>
> We are creating a very large XForm containing several hundred widgets and
> using over 100 XBL components. The form is currently divided up into seven
> sections accessible via tabs. The form also contains several models used to
> assist in deleting items, expand/collapse subsections, control datatables
> and provide selection list values.
>
> The form can take up to 2 minutes to load, which is not acceptable. We have
> to determine how to speed it up.
>
> One nagging issue is we have a collection of 7 images that could each appear
> on the form several hundred times. Is there a way to declare the image once
> and reference an already loaded, cached image somewhere else?  Would it be
> best to serve images up with apache and call them from there? Basically, how
> can we prevent the browser from loading the same image up again and again
> and ....
>
> Is there a way to control how much of the form is built on initial load,
> only having the items on Tab 1 built and displayed at first? This may reduce
> the time to call the page up. When Tab 2 is selected, we could build that
> section of the form, and so on.
>
> I read several posts regarding reducing the size of css files and js files
> by removing spaces and blank lines. Is this incorporated in the core now or
> something we still need to do? Does this trick also apply to our XForms and
> XBL components?
>
> I also read a post on the HTML page not displaying any portion of the form
> until the script is completely loaded. Ref
> (http://forge.ow2.org/tracker/index.php?func=detail&aid=304615&group_id=168&atid=350207).
> Any plans to address this issue?
>
> Any other tricks, i.e. use of variables to only look up path to instance
> once, that you can let us know about while we work to speed up our form?
> --
> View this message in context: http://www.nabble.com/XForm-Performance-tp25264465p25264465.html
> Sent from the ObjectWeb OPS - Users mailing list archive at Nabble.com.
>
>
>
> --
> You receive this message as a subscriber of the [hidden email] mailing list.
> To unsubscribe: mailto:[hidden email]
> For general help: mailto:[hidden email]?subject=help
> OW2 mailing lists service home page: http://www.ow2.org/wws
>
>


--
You receive this message as a subscriber of the [hidden email] mailing list.
To unsubscribe: mailto:[hidden email]
For general help: mailto:[hidden email]?subject=help
OW2 mailing lists service home page: http://www.ow2.org/wws
Reply | Threaded
Open this post in threaded view
|

Re: Re: XForm Performance

stacyladnier
In reply to this post by stacyladnier
I'm not clear as to what you mean when you say make the form a process.
Can you elaborate?

I thought about making each tab a separate form, but how do I get them
to all operate on the same xml file to store the data?

I did do profiling with the browser, thank you for the tip. The Images
only take 1-3ms each, but when it does so 700 (75KB total) it takes
55.97s. Wow! I have to have these images display, I cannot reduce the
images (they are really icons for add, delete, copy, paste,
cardinality). I have a few thoughts on using css for this, just hope it
increases the load time.


----- Original Message -----
From: Jeremiah Jahn <[hidden email]>
Date: Wednesday, September 2, 2009 5:22 pm
Subject: [ops-users] Re: XForm Performance

> I don't know about XForms in particular, but the browser should on;y
> be pulling the image once, in general. I'd suggest that you make your
> form a process to speed things up, and not try to load all of the
> needed components and javascript at once.  i'm sure this goes against
> what has already been developed, but  if you have a place to display
> over 700 images you probably have an opportunity some where so
> simplify your UI and make it more streamlined.  You might want to try
> making each tab a separate form as well. A number of browser have
> resource tools in them that will tell you how long different aspects
> of the page are taking to load, you might ant to check these out. I'd
> lay money down though on the browser taking too long to process the
> data/scripts, and not that bandwidth was your problem.
>
> On Wed, Sep 2, 2009 at 2:45 PM,
> stacyladnier<[hidden email]> wrote:
> >
> > We are creating a very large XForm containing several hundred
> widgets and
> > using over 100 XBL components. The form is currently divided up
> into seven
> > sections accessible via tabs. The form also contains several
> models used to
> > assist in deleting items, expand/collapse subsections, control
> datatables> and provide selection list values.
> >
> > The form can take up to 2 minutes to load, which is not
> acceptable. We have
> > to determine how to speed it up.
> >
> > One nagging issue is we have a collection of 7 images that could
> each appear
> > on the form several hundred times. Is there a way to declare the
> image once
> > and reference an already loaded, cached image somewhere else?
>  Would it be
> > best to serve images up with apache and call them from there?
> Basically, how
> > can we prevent the browser from loading the same image up again
> and again
> > and ....
> >
> > Is there a way to control how much of the form is built on
> initial load,
> > only having the items on Tab 1 built and displayed at first? This
> may reduce
> > the time to call the page up. When Tab 2 is selected, we could
> build that
> > section of the form, and so on.
> >
> > I read several posts regarding reducing the size of css files and
> js files
> > by removing spaces and blank lines. Is this incorporated in the
> core now or
> > something we still need to do? Does this trick also apply to our
> XForms and
> > XBL components?
> >
> > I also read a post on the HTML page not displaying any portion of
> the form
> > until the script is completely loaded. Ref
> >
>
(http://forge.ow2.org/tracker/index.php?func=detail&aid=304615&group_id=168&atid=350207).>
Any plans to address this issue?

> >
> > Any other tricks, i.e. use of variables to only look up path to
> instance> once, that you can let us know about while we work to
> speed up our form?
> > --
> > View this message in context: http://www.nabble.com/XForm-
> Performance-tp25264465p25264465.html
> > Sent from the ObjectWeb OPS - Users mailing list archive at
> Nabble.com.>
> >
> >
> > --
> > You receive this message as a subscriber of the [hidden email]
> mailing list.
> > To unsubscribe: mailto:[hidden email]
> > For general help: mailto:[hidden email]?subject=help
> > OW2 mailing lists service home page: http://www.ow2.org/wws
> >
> >
>


--
You receive this message as a subscriber of the [hidden email] mailing list.
To unsubscribe: mailto:[hidden email]
For general help: mailto:[hidden email]?subject=help
OW2 mailing lists service home page: http://www.ow2.org/wws
Reply | Threaded
Open this post in threaded view
|

Re: Re: XForm Performance

Tom Grahame
Hi Stacy,

I pass several instances between pages by using inserts to wrap them them into one instance, posting it to the next page and having it split up again in the second pages model, which happens to be a .xpl.

Best wishes,

Tom

stacyladnier wrote
I thought about making each tab a separate form, but how do I get them
to all operate on the same xml file to store the data?
Reply | Threaded
Open this post in threaded view
|

Re: Re: Re: XForm Performance

Jeremiah Jahn-4
In reply to this post by stacyladnier
On Wed, Sep 2, 2009 at 9:28 PM, <[hidden email]> wrote:
> I'm not clear as to what you mean when you say make the form a process.
> Can you elaborate?
Basically if you break your form into logical pieces that a user needs
to fill out in steps. Where each step is a page. You'll load the
instance data at each step, and when they hit continue or whatever you
will persist the xml, and then load it (or the relevant piece) at the
next step/form. As they work there way through the process the xml
will get completed. Based on the session information XForms knows who
is at what state/step in the process.

>
> I thought about making each tab a separate form, but how do I get them
> to all operate on the same xml file to store the data?
you should be able to persist the xml between or store it in the session.
>
> I did do profiling with the browser, thank you for the tip. The Images
> only take 1-3ms each, but when it does so 700 (75KB total) it takes
> 55.97s. Wow! I have to have these images display, I cannot reduce the
> images (they are really icons for add, delete, copy, paste,
> cardinality). I have a few thoughts on using css for this, just hope it
> increases the load time.

make sure that the webserver is not making image requests as no-cache
in the response header. This will cause the browser to think that each
image is unique, and not use the same image over and over from its own
cache. Orbeon does enough manipulation with response  headers, that
this might be the case, but I don't really know off the top of my
head. The css option should also make a big difference as well. since
you will only mention each image once in the css, they should load
much faster. Make sure that your icons are .png or .gif as well so
that their size is small.

>
>
> ----- Original Message -----
> From: Jeremiah Jahn <[hidden email]>
> Date: Wednesday, September 2, 2009 5:22 pm
> Subject: [ops-users] Re: XForm Performance
>
>> I don't know about XForms in particular, but the browser should on;y
>> be pulling the image once, in general. I'd suggest that you make your
>> form a process to speed things up, and not try to load all of the
>> needed components and javascript at once.  i'm sure this goes against
>> what has already been developed, but  if you have a place to display
>> over 700 images you probably have an opportunity some where so
>> simplify your UI and make it more streamlined.  You might want to try
>> making each tab a separate form as well. A number of browser have
>> resource tools in them that will tell you how long different aspects
>> of the page are taking to load, you might ant to check these out. I'd
>> lay money down though on the browser taking too long to process the
>> data/scripts, and not that bandwidth was your problem.
>>
>> On Wed, Sep 2, 2009 at 2:45 PM,
>> stacyladnier<[hidden email]> wrote:
>> >
>> > We are creating a very large XForm containing several hundred
>> widgets and
>> > using over 100 XBL components. The form is currently divided up
>> into seven
>> > sections accessible via tabs. The form also contains several
>> models used to
>> > assist in deleting items, expand/collapse subsections, control
>> datatables> and provide selection list values.
>> >
>> > The form can take up to 2 minutes to load, which is not
>> acceptable. We have
>> > to determine how to speed it up.
>> >
>> > One nagging issue is we have a collection of 7 images that could
>> each appear
>> > on the form several hundred times. Is there a way to declare the
>> image once
>> > and reference an already loaded, cached image somewhere else?
>>  Would it be
>> > best to serve images up with apache and call them from there?
>> Basically, how
>> > can we prevent the browser from loading the same image up again
>> and again
>> > and ....
>> >
>> > Is there a way to control how much of the form is built on
>> initial load,
>> > only having the items on Tab 1 built and displayed at first? This
>> may reduce
>> > the time to call the page up. When Tab 2 is selected, we could
>> build that
>> > section of the form, and so on.
>> >
>> > I read several posts regarding reducing the size of css files and
>> js files
>> > by removing spaces and blank lines. Is this incorporated in the
>> core now or
>> > something we still need to do? Does this trick also apply to our
>> XForms and
>> > XBL components?
>> >
>> > I also read a post on the HTML page not displaying any portion of
>> the form
>> > until the script is completely loaded. Ref
>> >
>>
> (http://forge.ow2.org/tracker/index.php?func=detail&aid=304615&group_id=168&atid=350207).>
> Any plans to address this issue?
>> >
>> > Any other tricks, i.e. use of variables to only look up path to
>> instance> once, that you can let us know about while we work to
>> speed up our form?
>> > --
>> > View this message in context: http://www.nabble.com/XForm-
>> Performance-tp25264465p25264465.html
>> > Sent from the ObjectWeb OPS - Users mailing list archive at
>> Nabble.com.>
>> >
>> >
>> > --
>> > You receive this message as a subscriber of the [hidden email]
>> mailing list.
>> > To unsubscribe: mailto:[hidden email]
>> > For general help: mailto:[hidden email]?subject=help
>> > OW2 mailing lists service home page: http://www.ow2.org/wws
>> >
>> >
>>
>
>
> --
> You receive this message as a subscriber of the [hidden email] mailing list.
> To unsubscribe: mailto:[hidden email]
> For general help: mailto:[hidden email]?subject=help
> OW2 mailing lists service home page: http://www.ow2.org/wws
>
>


--
You receive this message as a subscriber of the [hidden email] mailing list.
To unsubscribe: mailto:[hidden email]
For general help: mailto:[hidden email]?subject=help
OW2 mailing lists service home page: http://www.ow2.org/wws
Reply | Threaded
Open this post in threaded view
|

Repeatable fields and Bind on input

Betty Harvey
I need set values for a repeatable table based on lookup.  I have the
following in the <xforms:modal> section:

<xforms:bind
nodeset="instance('TransferRequest-instance')/era:ContainerInformation/era:Container/era:ContainerDimensions">
   <xforms:bind nodeset="era:Height"  id="bindHeight"
   calculate="instance('Container-instance')/Row[ContainerDescription =
$containerType]/Height"/>
 ...
  </xforms:bind>

The field is populated based on the selection of the container.
The repeats are populated with the first selection.

<xforms:input id="height-control" ref="era:ContainerDimensions/era:Height"
bind="bindHeight"
          <xforms:label>Height</xforms:label>
</xforms:input>

Inside the repeat the values are correct.  I verified this by setting
a variable.

<xforms:variable name="height"
select="instance('Container-instance')/Row[ContainerDescription =
$containerType]/Height"/>

<xforms:output ref="$height"/>

I also tried moving the bind inside the repeat (which I don't think
that is allowed) and didn't work.

How can set values for elements inside a repeat.

This is the output I am getting.  The dimensions in the second
<Container> are different from the first.

<Container>
<ContainerType>5 inch single open reel tape</ContainerType>
    <ContainerDimensions>
      <Height>0.500</Height>
      <Width>5.000</Width>
     <Depth>5.000</Depth>
   </ContainerDimensions>
   <Quantity/>
</Container>
<Container>
   <ContainerType>Catalog Card Drawer</ContainerType>
   <ContainerDimensions>
        <Height>0.500</Height>
        <Width>5.000</Width>
        <Depth>5.000</Depth>
   </ContainerDimensions>
<Quantity/>
</Container>

Thanks!

/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/
Betty Harvey                         | Phone: 410-787-9200 FAX: 9830
Electronic Commerce Connection, Inc. |
[hidden email]                    | Washington,DC XML Users Grp
URL:  http://www.eccnet.com          | http://www.eccnet.com/xmlug/
/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\\/\/


--
You receive this message as a subscriber of the [hidden email] mailing list.
To unsubscribe: mailto:[hidden email]
For general help: mailto:[hidden email]?subject=help
OW2 mailing lists service home page: http://www.ow2.org/wws
Reply | Threaded
Open this post in threaded view
|

Re: XForm Performance

Markku Laine
In reply to this post by stacyladnier
Hi,


If you are interested in performance, then I recommend you (and  
everyone else) to read the two books about Web site performance  
written by Steve Souders and to browse his extensive Web site  
available at:
http://stevesouders.com/

He also has interesting open-source projects, such as YSlow and  
Episodes.

To get a quick and deeper look into the world of Web site performance,  
I suggest to start by reading the lectures slides available at:
http://cs193h.stevesouders.com/

Regards


-Markku

On 2.9.2009, at 22.45, stacyladnier wrote:

>
> We are creating a very large XForm containing several hundred  
> widgets and
> using over 100 XBL components. The form is currently divided up into  
> seven
> sections accessible via tabs. The form also contains several models  
> used to
> assist in deleting items, expand/collapse subsections, control  
> datatables
> and provide selection list values.
>
> The form can take up to 2 minutes to load, which is not acceptable.  
> We have
> to determine how to speed it up.
>
> One nagging issue is we have a collection of 7 images that could  
> each appear
> on the form several hundred times. Is there a way to declare the  
> image once
> and reference an already loaded, cached image somewhere else?  Would  
> it be
> best to serve images up with apache and call them from there?  
> Basically, how
> can we prevent the browser from loading the same image up again and  
> again
> and ....
>
> Is there a way to control how much of the form is built on initial  
> load,
> only having the items on Tab 1 built and displayed at first? This  
> may reduce
> the time to call the page up. When Tab 2 is selected, we could build  
> that
> section of the form, and so on.
>
> I read several posts regarding reducing the size of css files and js  
> files
> by removing spaces and blank lines. Is this incorporated in the core  
> now or
> something we still need to do? Does this trick also apply to our  
> XForms and
> XBL components?
>
> I also read a post on the HTML page not displaying any portion of  
> the form
> until the script is completely loaded. Ref
> (http://forge.ow2.org/tracker/index.php?func=detail&aid=304615&group_id=168&atid=350207 
> ).
> Any plans to address this issue?
>
> Any other tricks, i.e. use of variables to only look up path to  
> instance
> once, that you can let us know about while we work to speed up our  
> form?
> --
> View this message in context: http://www.nabble.com/XForm-Performance-tp25264465p25264465.html
> Sent from the ObjectWeb OPS - Users mailing list archive at  
> Nabble.com.
>
>
> --
> You receive this message as a subscriber of the [hidden email]  
> mailing list.
> To unsubscribe: mailto:[hidden email]
> For general help: mailto:[hidden email]?subject=help
> OW2 mailing lists service home page: http://www.ow2.org/wws


--
You receive this message as a subscriber of the [hidden email] mailing list.
To unsubscribe: mailto:[hidden email]
For general help: mailto:[hidden email]?subject=help
OW2 mailing lists service home page: http://www.ow2.org/wws
Reply | Threaded
Open this post in threaded view
|

Re: Re: XForm Performance

Raitis
How many textarea with media type html do you have?!

On Tue, Sep 8, 2009 at 9:02 AM, Markku Laine <[hidden email]> wrote:
Hi,
 


If you are interested in performance, then I recommend you (and everyone else) to read the two books about Web site performance written by Steve Souders and to browse his extensive Web site available at:
http://stevesouders.com/

He also has interesting open-source projects, such as YSlow and Episodes.

To get a quick and deeper look into the world of Web site performance, I suggest to start by reading the lectures slides available at:
http://cs193h.stevesouders.com/

Regards


-Markku


On 2.9.2009, at 22.45, stacyladnier wrote:


We are creating a very large XForm containing several hundred widgets and
using over 100 XBL components. The form is currently divided up into seven
sections accessible via tabs. The form also contains several models used to
assist in deleting items, expand/collapse subsections, control datatables
and provide selection list values.

The form can take up to 2 minutes to load, which is not acceptable. We have
to determine how to speed it up.

One nagging issue is we have a collection of 7 images that could each appear
on the form several hundred times. Is there a way to declare the image once
and reference an already loaded, cached image somewhere else?  Would it be
best to serve images up with apache and call them from there? Basically, how
can we prevent the browser from loading the same image up again and again
and ....

Is there a way to control how much of the form is built on initial load,
only having the items on Tab 1 built and displayed at first? This may reduce
the time to call the page up. When Tab 2 is selected, we could build that
section of the form, and so on.

I read several posts regarding reducing the size of css files and js files
by removing spaces and blank lines. Is this incorporated in the core now or
something we still need to do? Does this trick also apply to our XForms and
XBL components?

I also read a post on the HTML page not displaying any portion of the form
until the script is completely loaded. Ref
(http://forge.ow2.org/tracker/index.php?func=detail&aid=304615&group_id=168&atid=350207).
Any plans to address this issue?

Any other tricks, i.e. use of variables to only look up path to instance
once, that you can let us know about while we work to speed up our form?
--
View this message in context: http://www.nabble.com/XForm-Performance-tp25264465p25264465.html
Sent from the ObjectWeb OPS - Users mailing list archive at Nabble.com.


--
You receive this message as a subscriber of the [hidden email] mailing list.
To unsubscribe: mailto:[hidden email]
For general help: mailto:[hidden email]?subject=help
OW2 mailing lists service home page: http://www.ow2.org/wws



--
You receive this message as a subscriber of the [hidden email] mailing list.
To unsubscribe: mailto:[hidden email]
For general help: mailto:[hidden email]?subject=help
OW2 mailing lists service home page: http://www.ow2.org/wws




--
You receive this message as a subscriber of the [hidden email] mailing list.
To unsubscribe: mailto:[hidden email]
For general help: mailto:[hidden email]?subject=help
OW2 mailing lists service home page: http://www.ow2.org/wws
Reply | Threaded
Open this post in threaded view
|

Re: Re: Re: XForm Performance

stacyladnier
In reply to this post by stacyladnier
Only one right now.

How many textarea with media type html do you have?!

On Tue, Sep 8, 2009 at 9:02 AM, Markku Laine <[hidden email]> wrote:
Hi,
 


If you are interested in performance, then I recommend you (and everyone else) to read the two books about Web site performance written by Steve Souders and to browse his extensive Web site available at:
http://stevesouders.com/

He also has interesting open-source projects, such as YSlow and Episodes.

To get a quick and deeper look into the world of Web site performance, I suggest to start by reading the lectures slides available at:
http://cs193h.stevesouders.com/

Regards


-Markku


On 2.9.2009, at 22.45, stacyladnier wrote:


We are creating a very large XForm containing several hundred widgets and
using over 100 XBL components. The form is currently divided up into seven
sections accessible via tabs. The form also contains several models used to
assist in deleting items, expand/collapse subsections, control datatables
and provide selection list values.

The form can take up to 2 minutes to load, which is not acceptable. We have
to determine how to speed it up.

One nagging issue is we have a collection of 7 images that could each appear
on the form several hundred times. Is there a way to declare the image once
and reference an already loaded, cached image somewhere else?  Would it be
best to serve images up with apache and call them from there? Basically, how
can we prevent the browser from loading the same image up again and again
and ....

Is there a way to control how much of the form is built on initial load,
only having the items on Tab 1 built and displayed at first? This may reduce
the time to call the page up. When Tab 2 is selected, we could build that
section of the form, and so on.

I read several posts regarding reducing the size of css files and js files
by removing spaces and blank lines. Is this incorporated in the core now or
something we still need to do? Does this trick also apply to our XForms and
XBL components?

I also read a post on the HTML page not displaying any portion of the form
until the script is completely loaded. Ref
(http://forge.ow2.org/tracker/index.php?func=detail&aid=304615&group_id=168&atid=350207).
Any plans to address this issue?

Any other tricks, i.e. use of variables to only look up path to instance
once, that you can let us know about while we work to speed up our form?
--
View this message in context: http://www.nabble.com/XForm-Performance-tp25264465p25264465.html
Sent from the ObjectWeb OPS - Users mailing list archive at Nabble.com.


--
You receive this message as a subscriber of the [hidden email] mailing list.
To unsubscribe: mailto:[hidden email]
For general help: mailto:[hidden email]?subject=help
OW2 mailing lists service home page: http://www.ow2.org/wws



--
You receive this message as a subscriber of the [hidden email] mailing list.
To unsubscribe: mailto:[hidden email]
For general help: mailto:[hidden email]?subject=help
OW2 mailing lists service home page: http://www.ow2.org/wws




--
You receive this message as a subscriber of the [hidden email] mailing list.
To unsubscribe: mailto:[hidden email]
For general help: mailto:[hidden email]?subject=help
OW2 mailing lists service home page: http://www.ow2.org/wws
Reply | Threaded
Open this post in threaded view
|

Re: Re: XForm Performance

Alessandro Vernet
Administrator
In reply to this post by stacyladnier
Stacy,

stacyladnier wrote
I did do profiling with the browser, thank you for the tip. The Images
only take 1-3ms each, but when it does so 700 (75KB total) it takes
55.97s. Wow! I have to have these images display, I cannot reduce the
images (they are really icons for add, delete, copy, paste,
cardinality). I have a few thoughts on using css for this, just hope it
increases the load time.
Are those 700 images distinct (with a different URL), or are you observing some kind of problem where the browser reloads the same image multiple times? If you do indeed have 700 *distinct* images, I would start there and look for a way to now load all of those images (maybe show the first 25 and have a button "load more").

Alex
Reply | Threaded
Open this post in threaded view
|

Re: Repeatable fields and Bind on input

Alessandro Vernet
Administrator
In reply to this post by Betty Harvey
Betty,

Betty Harvey wrote
I need set values for a repeatable table based on lookup.  I have the
following in the <xforms:modal> section:

<xforms:bind
nodeset="instance('TransferRequest-instance')/era:ContainerInformation/era:Container/era:ContainerDimensions">
   <xforms:bind nodeset="era:Height"  id="bindHeight"
   calculate="instance('Container-instance')/Row[ContainerDescription =
$containerType]/Height"/>
 ...
  </xforms:bind>
I am not sure to fully understand the case you have here, but it looks like in the calculate expression you want to get a value from instance('Container-instance') while using the value of an element under era:ContainerDimensions. The context() function might help here. It will point to the node that you nodeset points to. So maybe you want to write:

calculate="instance('Container-instance')/Row[ContainerDescription = context()/../../era:ContainerType]/Height"

(I think the context() will point to Height, which is inside a ContainerType, inside a Container, hence the "../..". But I don't have your actual code, so this is kind of guesswork.)

Alex
Reply | Threaded
Open this post in threaded view
|

Re: Re: Re: XForm Performance

Erik Bruchez
Administrator
In reply to this post by stacyladnier
Stacy,

If you do have 7 static images which appear many times, you absolutely
need to pursue an aggressive client-side caching strategy. For this
you need:

* to enable Orbeon Forms versioned resources (this produces versioned
URLs that can be cached "forever")
* to use Apache or similar to produce aggressive expiration headers

More on this here:

http://www.orbeon.com/ops/doc/reference-xforms-configuration#versioned-resources
http://www.orbeon.com/ops/doc/reference-xforms-configuration#apache

-Erik

On Wed, Sep 2, 2009 at 7:28 PM,  <[hidden email]> wrote:

> I'm not clear as to what you mean when you say make the form a process.
> Can you elaborate?
>
> I thought about making each tab a separate form, but how do I get them
> to all operate on the same xml file to store the data?
>
> I did do profiling with the browser, thank you for the tip. The Images
> only take 1-3ms each, but when it does so 700 (75KB total) it takes
> 55.97s. Wow! I have to have these images display, I cannot reduce the
> images (they are really icons for add, delete, copy, paste,
> cardinality). I have a few thoughts on using css for this, just hope it
> increases the load time.
>
>
> ----- Original Message -----
> From: Jeremiah Jahn <[hidden email]>
> Date: Wednesday, September 2, 2009 5:22 pm
> Subject: [ops-users] Re: XForm Performance
>
>> I don't know about XForms in particular, but the browser should on;y
>> be pulling the image once, in general. I'd suggest that you make your
>> form a process to speed things up, and not try to load all of the
>> needed components and javascript at once.  i'm sure this goes against
>> what has already been developed, but  if you have a place to display
>> over 700 images you probably have an opportunity some where so
>> simplify your UI and make it more streamlined.  You might want to try
>> making each tab a separate form as well. A number of browser have
>> resource tools in them that will tell you how long different aspects
>> of the page are taking to load, you might ant to check these out. I'd
>> lay money down though on the browser taking too long to process the
>> data/scripts, and not that bandwidth was your problem.
>>
>> On Wed, Sep 2, 2009 at 2:45 PM,
>> stacyladnier<[hidden email]> wrote:
>> >
>> > We are creating a very large XForm containing several hundred
>> widgets and
>> > using over 100 XBL components. The form is currently divided up
>> into seven
>> > sections accessible via tabs. The form also contains several
>> models used to
>> > assist in deleting items, expand/collapse subsections, control
>> datatables> and provide selection list values.
>> >
>> > The form can take up to 2 minutes to load, which is not
>> acceptable. We have
>> > to determine how to speed it up.
>> >
>> > One nagging issue is we have a collection of 7 images that could
>> each appear
>> > on the form several hundred times. Is there a way to declare the
>> image once
>> > and reference an already loaded, cached image somewhere else?
>>  Would it be
>> > best to serve images up with apache and call them from there?
>> Basically, how
>> > can we prevent the browser from loading the same image up again
>> and again
>> > and ....
>> >
>> > Is there a way to control how much of the form is built on
>> initial load,
>> > only having the items on Tab 1 built and displayed at first? This
>> may reduce
>> > the time to call the page up. When Tab 2 is selected, we could
>> build that
>> > section of the form, and so on.
>> >
>> > I read several posts regarding reducing the size of css files and
>> js files
>> > by removing spaces and blank lines. Is this incorporated in the
>> core now or
>> > something we still need to do? Does this trick also apply to our
>> XForms and
>> > XBL components?
>> >
>> > I also read a post on the HTML page not displaying any portion of
>> the form
>> > until the script is completely loaded. Ref
>> >
>>
> (http://forge.ow2.org/tracker/index.php?func=detail&aid=304615&group_id=168&atid=350207).>
> Any plans to address this issue?
>> >
>> > Any other tricks, i.e. use of variables to only look up path to
>> instance> once, that you can let us know about while we work to
>> speed up our form?
>> > --
>> > View this message in context: http://www.nabble.com/XForm-
>> Performance-tp25264465p25264465.html
>> > Sent from the ObjectWeb OPS - Users mailing list archive at
>> Nabble.com.>
>> >
>> >
>> > --
>> > You receive this message as a subscriber of the [hidden email]
>> mailing list.
>> > To unsubscribe: mailto:[hidden email]
>> > For general help: mailto:[hidden email]?subject=help
>> > OW2 mailing lists service home page: http://www.ow2.org/wws
>> >
>> >
>>
>
>
> --
> You receive this message as a subscriber of the [hidden email] mailing list.
> To unsubscribe: mailto:[hidden email]
> For general help: mailto:[hidden email]?subject=help
> OW2 mailing lists service home page: http://www.ow2.org/wws
>
>


--
You receive this message as a subscriber of the [hidden email] mailing list.
To unsubscribe: mailto:[hidden email]
For general help: mailto:[hidden email]?subject=help
OW2 mailing lists service home page: http://www.ow2.org/wws
Reply | Threaded
Open this post in threaded view
|

Re: Re: Re peatable fields and Bind on input

mm-24
In reply to this post by Alessandro Vernet
I'm in the same situation here and context() doesn't seem to help:

<xforms:bind nodeset="instance('selected-items-data')//row/discount"
               calculate="instance('client-discounts')//row[code=context()/../code and dt-start&lt;now() and dt-end&gt;now()]/discount"/>

'selected-items-data' instance is a "shopping chart" like instance with one item per row, while 'client-discounts' instance are client's discounts (instance changes when client control changed), one per row, been code the item serial number and dt-start and dt-end the start and end dates when the discount apply. So this tries to bind each item's discount element with this client's discount for this article (and valid at date), but it doesn't work.

Before trying this it was directly calculated in the repeat block, with an xforms:output control and it worked using a variable with the current repeat's single node, but i need it in the instance now and variable is not allowed inside xforms:bind.

I also tried other ways, like using $bind-name instead of context(), etc. and nothing seemed to work right. Even I changed context()/../code for '018102' (existing item serial number) just to try and it worked, so the problem is to get the item serial number.

It's a "table lookup" problem where one instance's row element has to bind with another instance's row element using a key, and the problem is how to get the correct single-node key when dealing with repeated elements. Is this already solved? Am I missing something?

Thanks in advance.

On Wed, Sep 9, 2009 at 8:01 AM, Alessandro Vernet <[hidden email]> wrote:

Betty,


Betty Harvey wrote:
>
> I need set values for a repeatable table based on lookup.  I have the
> following in the <xforms:modal> section:
>
> <xforms:bind
> nodeset="instance('TransferRequest-instance')/era:ContainerInformation/era:Container/era:ContainerDimensions">
>    <xforms:bind nodeset="era:Height"  id="bindHeight"
>    calculate="instance('Container-instance')/Row[ContainerDescription =
> $containerType]/Height"/>
>  ...
>   </xforms:bind>
>

I am not sure to fully understand the case you have here, but it looks like
in the calculate expression you want to get a value from
instance('Container-instance') while using the value of an element under
era:ContainerDimensions. The context() function might help here. It will
point to the node that you nodeset points to. So maybe you want to write:

calculate="instance('Container-instance')/Row[ContainerDescription =
context()/../../era:ContainerType]/Height"

(I think the context() will point to Height, which is inside a
ContainerType, inside a Container, hence the "../..". But I don't have your
actual code, so this is kind of guesswork.)

Alex

-----
Orbeon Forms - Web 2.0 Forms, open-source, for the Enterprise
Orbeon's Blog: http://www.orbeon.com/blog/
Personal Blog: http://avernet.blogspot.com/
Twitter - http://twitter.com/avernet
--
View this message in context: http://www.nabble.com/XForm-Performance-tp25264465p25359055.html
Sent from the ObjectWeb OPS - Users mailing list archive at Nabble.com.



--
You receive this message as a subscriber of the [hidden email] mailing list.
To unsubscribe: mailto:[hidden email]
For general help: mailto:[hidden email]?subject=help
OW2 mailing lists service home page: http://www.ow2.org/wws




--
You receive this message as a subscriber of the [hidden email] mailing list.
To unsubscribe: mailto:[hidden email]
For general help: mailto:[hidden email]?subject=help
OW2 mailing lists service home page: http://www.ow2.org/wws
Reply | Threaded
Open this post in threaded view
|

Re: Re: Re: Re peatable fields and Bind on input

Erik Bruchez
Administrator
What about something like:

<xforms:bind nodeset="instance('selected-items-data')//row/discount"
             calculate="for $discount in .
                        return instance('client-discounts')//row[code
= $discount/../code and dt-start lt now() and dt-end gt
now()]/discount"/>

-Erik

On Tue, Sep 22, 2009 at 8:02 AM, mm <[hidden email]> wrote:

> I'm in the same situation here and context() doesn't seem to help:
>
> <xforms:bind nodeset="instance('selected-items-data')//row/discount"
>
> calculate="instance('client-discounts')//row[code=context()/../code and
> dt-start&lt;now() and dt-end&gt;now()]/discount"/>
>
> 'selected-items-data' instance is a "shopping chart" like instance with one
> item per row, while 'client-discounts' instance are client's discounts
> (instance changes when client control changed), one per row, been code the
> item serial number and dt-start and dt-end the start and end dates when the
> discount apply. So this tries to bind each item's discount element with this
> client's discount for this article (and valid at date), but it doesn't work.
>
> Before trying this it was directly calculated in the repeat block, with an
> xforms:output control and it worked using a variable with the current
> repeat's single node, but i need it in the instance now and variable is not
> allowed inside xforms:bind.
>
> I also tried other ways, like using $bind-name instead of context(), etc.
> and nothing seemed to work right. Even I changed context()/../code for
> '018102' (existing item serial number) just to try and it worked, so the
> problem is to get the item serial number.
>
> It's a "table lookup" problem where one instance's row element has to bind
> with another instance's row element using a key, and the problem is how to
> get the correct single-node key when dealing with repeated elements. Is this
> already solved? Am I missing something?
>
> Thanks in advance.
>
> On Wed, Sep 9, 2009 at 8:01 AM, Alessandro Vernet <[hidden email]>
> wrote:
>>
>> Betty,
>>
>>
>> Betty Harvey wrote:
>> >
>> > I need set values for a repeatable table based on lookup.  I have the
>> > following in the <xforms:modal> section:
>> >
>> > <xforms:bind
>> >
>> > nodeset="instance('TransferRequest-instance')/era:ContainerInformation/era:Container/era:ContainerDimensions">
>> >    <xforms:bind nodeset="era:Height"  id="bindHeight"
>> >    calculate="instance('Container-instance')/Row[ContainerDescription =
>> > $containerType]/Height"/>
>> >  ...
>> >   </xforms:bind>
>> >
>>
>> I am not sure to fully understand the case you have here, but it looks
>> like
>> in the calculate expression you want to get a value from
>> instance('Container-instance') while using the value of an element under
>> era:ContainerDimensions. The context() function might help here. It will
>> point to the node that you nodeset points to. So maybe you want to write:
>>
>> calculate="instance('Container-instance')/Row[ContainerDescription =
>> context()/../../era:ContainerType]/Height"
>>
>> (I think the context() will point to Height, which is inside a
>> ContainerType, inside a Container, hence the "../..". But I don't have
>> your
>> actual code, so this is kind of guesswork.)
>>
>> Alex
>>
>> -----
>> Orbeon Forms - Web 2.0 Forms, open-source, for the Enterprise
>> Orbeon's Blog: http://www.orbeon.com/blog/
>> Personal Blog: http://avernet.blogspot.com/
>> Twitter - http://twitter.com/avernet
>> --
>> View this message in context:
>> http://www.nabble.com/XForm-Performance-tp25264465p25359055.html
>> Sent from the ObjectWeb OPS - Users mailing list archive at Nabble.com.
>>
>>
>>
>> --
>> You receive this message as a subscriber of the [hidden email] mailing
>> list.
>> To unsubscribe: mailto:[hidden email]
>> For general help: mailto:[hidden email]?subject=help
>> OW2 mailing lists service home page: http://www.ow2.org/wws
>>
>
>
>
> --
> You receive this message as a subscriber of the [hidden email] mailing
> list.
> To unsubscribe: mailto:[hidden email]
> For general help: mailto:[hidden email]?subject=help
> OW2 mailing lists service home page: http://www.ow2.org/wws
>
>


--
You receive this message as a subscriber of the [hidden email] mailing list.
To unsubscribe: mailto:[hidden email]
For general help: mailto:[hidden email]?subject=help
OW2 mailing lists service home page: http://www.ow2.org/wws
Reply | Threaded
Open this post in threaded view
|

Re: Re: Re: Re: Re peatable fields and Bind on input

mm-24
It worked!

Thanks.



--
You receive this message as a subscriber of the [hidden email] mailing list.
To unsubscribe: mailto:[hidden email]
For general help: mailto:[hidden email]?subject=help
OW2 mailing lists service home page: http://www.ow2.org/wws
Reply | Threaded
Open this post in threaded view
|

Re: Re: Re: Re: Re: Re peatable fields and Bind on input

Erik Bruchez-3
Great, I love when it's that "simple" ;)

-Erik

On Mon, Oct 12, 2009 at 1:54 AM, mm <[hidden email]> wrote:

> It worked!
>
> Thanks.
>
>
>
> --
> You receive this message as a subscriber of the [hidden email] mailing
> list.
> To unsubscribe: mailto:[hidden email]
> For general help: mailto:[hidden email]?subject=help
> OW2 mailing lists service home page: http://www.ow2.org/wws
>
>


--
You receive this message as a subscriber of the [hidden email] mailing list.
To unsubscribe: mailto:[hidden email]
For general help: mailto:[hidden email]?subject=help
OW2 mailing lists service home page: http://www.ow2.org/wws