Welcome Guest Search | Active Topics | Sign In | Register

Evaluation phase Options
Ronen Chen
Posted: Monday, October 27, 2008 1:13:10 PM
Rank: Newbie
Groups: Member

Joined: 10/27/2008
Posts: 3
Hello support,

I'm currently evaluating your product and find it very professional.
My Q is regarding the client scripts performance
Can I combine the script files to one file ? Can that file hosted in the web application as static file?

Best Regards,
Ronen Chen
eo_support
Posted: Monday, October 27, 2008 1:42:47 PM
Rank: Administration
Groups: Administration

Joined: 5/27/2007
Posts: 24,194
Hi Ronen,

Thanks for contacting us. We have done many optimizations regarding client side JavaScript. Regarding to your questions:

1. You can not combine the script files to one file. The reason is that we automatically tailor the scripts depends on what you use. For example, if you use Menu but not DatePicker on the page, then only JavaScript files for the Menu control will be rendered, JavaScript files for DatePicker will not be rendered in this case. Obviously, combining JavaScript files for different controls together into one file makes no sense in this case.

Furthermore, we also share some JavaScript modules between different controls. For example, Menu may use JavaScript module A and B, while DatePicker may use JavaScript A and C. Here A contains many common routines used by both controls, but B and C only contain routines used by Menu and DatePicker respectively. With this approach, if you use Menu and DatePicker in the same page, then three modules A, B and C will be rendered. However, if we were to allow you to combine the script files for individual controls, then for a page that uses both Menu and DatePicker, you would have "A + B" for Menu and "B + C" for DatePicker rendered, which causes A to be rendered twice. This means combining different JavaScript files for a single control makes no sense either.

2. All JavaScript files, while can not be combined into a single one, can be hosted as static files. You will need to create a folder on your web server, then change your web.config to specify where EO.Web.dll should put those JavaScript files. At runtime, our DLL will generate static files in that directory and from then on, uses those static files instead of our dynamic module. You can find more information about this at here (scroll down for "Physical script files"):

http://www.essentialobjects.com/ViewDoc.aspx?t=InstallationAndDeployment%2fdeploy.html

In addition to those measures, we also automatically send JavaScript files to client side in zip format if the client side browser supports so. Note this only works when EO.Web.dll is "sending" the JavaScript files, which means when you are not using static files. When you use static files, IIS is "sending" those files.

Hope this helps. Please feel free to let us know if you have any more questions.

Thanks!
Ronen Chen
Posted: Tuesday, October 28, 2008 1:19:29 AM
Rank: Newbie
Groups: Member

Joined: 10/27/2008
Posts: 3
Hello Support,

Thanks for your reply.
Although it's understandable to seperate the script into seprate files, this is outcome with huge perfroemace penalty.
please see yahoo's "Best Practices for Speeding Up Your Web Site" - http://developer.yahoo.com/performance/rules.html ,http://developer.yahoo.net/blog/archives/2007/03/high_performanc.html


I must say that I like your product a lot but this perfromance issue is cruicial for us.

Best Regards,
Ronen Chen.
eo_support
Posted: Tuesday, October 28, 2008 5:51:31 AM
Rank: Administration
Groups: Administration

Joined: 5/27/2007
Posts: 24,194
Hi Ronen,

As Yahoo stated, "combining files is more challenging when the scripts and stylesheets vary from page to page". That means each page that uses a different set of controls need to have a different JavaScript file (because having a single combined file for all controls will result in a very large JavaScript file). So if all of your pages only use a single control or the same set of controls (for example, based on your master page), then combining javascript into one file is a great option. Otherwise combining files poses performance penalty, not performance gain because the number of combined JavaScript files can be significantly more than the number of primary script files. This causes a situation that while each page only sends out one JavaScript HTTP request, the user still sends out a lot of JavaScript request when they navigate through different pages. With separate files, the maximum number of HTTP request is the number of primary script files (further request are satisfied from the browser’s local cache).

The feature however is quite easy for us to implement. So we can try to put it in and provide you a test build for you to try out. Please let us know if you would like us to do that.

Thanks
Ronen Chen
Posted: Tuesday, October 28, 2008 6:01:00 AM
Rank: Newbie
Groups: Member

Joined: 10/27/2008
Posts: 3
Hello Support,

Thanks for your reply,
I do understand the plus and minus and appreciate your suggestion very much.

We'll be happy to see a test build with combined scripts.

Best Regards,

Ronen Chen.
chenronen@conduit.com
TL. +972-54-4991027
eo_support
Posted: Tuesday, October 28, 2008 6:12:07 AM
Rank: Administration
Groups: Administration

Joined: 5/27/2007
Posts: 24,194
Not a problem. We will add that and let you know once it is ready.
eo_support
Posted: Tuesday, October 28, 2008 4:23:28 PM
Rank: Administration
Groups: Administration

Joined: 5/27/2007
Posts: 24,194
Hi,

We have posted a new build that implemented this feature. Please see your private message for download location.

Once you install the new build, you would need to follow these steps to use this feature:

1. Enable physical JavaScript files by following steps outlined in our previous post;
2. Place an EO.Web ScriptManager control in the page before all other EO.Web controls;
3. Set the ScriptManager's CombineJSFiles property to true;

Run the page and it should create a single JavaScript files in the folder you specified. (You will also see a list of individual module files got created in the same folder. However those files are not used at runtime).

Please feel free to let us know if you have any more questions.

Thanks!
Joel N
Posted: Thursday, November 6, 2008 9:17:02 AM
Rank: Member
Groups: Member

Joined: 10/7/2008
Posts: 14
Hi, I am interested in this patch also, when will it be in the released product?

Right now looking at our main page I have:
<script type="text/javascript" src="eo_web.ashx?id=11ee4895-3f81-4d21-8933-ff98264325b4"></script>
<script type="text/javascript" src="eo_web.ashx?id=ea80ad02-f605-4392-842e-45420b1f0016"></script>
<script type="text/javascript" src="eo_web.ashx?id=9154edf1-d4b1-4a6c-a0d2-830b5b63c9d2"></script>
<script type="text/javascript" src="eo_web.ashx?id=29129a4d-a58c-4496-9f45-f215d37536fc"></script>
<script type="text/javascript" src="eo_web.ashx?id=f8942764-3ce3-4d64-8d3a-724bad50ba91"></script>

<script type="text/javascript" src="eo_web.ashx?id=f2a2cd24-51f2-47ec-9045-d6f723776fc1"></script>
<script type="text/javascript" src="eo_web.ashx?id=6c59b52b-3d03-4d1a-b192-6163f271a91f"></script>
<script type="text/javascript" src="eo_web.ashx?id=20369606-9411-4bb6-8b4f-c62bef48e9c2"></script><div id="eo_root"></div>
<script src="/ScriptResource.axd?d=wqH8kwaeeRTtV-yFcORLkAPmse6_g8xS3-kQBz9lEHUqU7po0osr6SjtWsraln8O0&amp;t=633476993008437500" type="text/javascript"></script>
<script type="text/javascript" src="eo_web.ashx?id=ab360689-4b52-4ffd-947d-a645a51097e9"></script>
<script type="text/javascript" src="eo_web.ashx?id=8aef43d3-c3d9-4042-96f7-f068ed89e02f"></script>
<script type="text/javascript" src="eo_web.ashx?id=e421f30a-6572-403f-a630-4c93b4c04b3c"></script>
<script type="text/javascript" src="eo_web.ashx?id=ecbbc657-1d88-4ecc-b2b8-487fdfcc43d9"></script>
<script src="/WebResource.axd?d=SFuHoUT38BlFxBcXjQqeIGNKuu9GnRqnKLAhqCp2xjshTx3jAhJ0m1bSWI5WMkNQ0&amp;t=633608231201207032" type="text/javascript"></script>

<script src="/ScriptResource.axd?d=wqH8kwaeeRTtV-yFcORLkAPmse6_g8xS3-kQBz9lEHVtwjONIif7cbZCKWE2FB8oL_gqUNY1MJ3nER1ZXDUhQw2&amp;t=633476993008437500" type="text/javascript"></script>
<script type="text/javascript" src="eo_web.ashx?id=04826745-5275-49a2-9208-d19476160b7d"></script>
<script type="text/javascript" src="eo_web.ashx?id=14f7a3ae-328d-469a-bcd7-d76e71923ae8"></script>
<script type="text/javascript">

I would love to find a way to combine these all into one js file that I can compress.
eo_support
Posted: Thursday, November 6, 2008 9:24:07 AM
Rank: Administration
Groups: Administration

Joined: 5/27/2007
Posts: 24,194
Hi,

Please check your private message for the download location.

Thanks!
Vladimir
Posted: Monday, December 1, 2008 8:49:25 AM
Rank: Newbie
Groups: Member

Joined: 11/3/2008
Posts: 3
Hi, we are colleagues with Joel and he shared this new build with me. I came through all the steps in your setup instruction but I still have a set of javascript includes on a page not a single combined file as expected.

What was done:
1. Set up new 6.0.50.2 build
2. Referenced it in solution
3. Added to web.config
<appSettings>
<add key="eo_ScriptLocation" value="~/eo_script"></add>
</appSettings>
4. Created this new folder
5. Put eo:ScriptManager to the MasterPage
<eo:ScriptManager CombineJSFiles="true"></eo:ScriptManager>

So we have ~/eo_script stuffed with physical scripts and references to these scripts on the pages that utilize EO controls.

What is wrong?
eo_support
Posted: Monday, December 1, 2008 9:51:56 AM
Rank: Administration
Groups: Administration

Joined: 5/27/2007
Posts: 24,194
Hi,

~/eo_script will always be stuffed with physical script files. However once CombineJSFiles is enabled, you should see one or more combined .js files generated in your the directory. You can check:

1. Whether view state is enabled. CombineJSFiles is stored in ViewState. So it does need ViewState to function;
2. Test this feature in a separate blank project. That should help you to isolate the problem;
3. Check with Joel to see if it worked for him;

Thanks!
Joel N
Posted: Thursday, July 16, 2009 10:57:26 AM
Rank: Member
Groups: Member

Joined: 10/7/2008
Posts: 14
I never got this to work, back to trying again one last time, does the latest public release have this feature in it?
eo_support
Posted: Thursday, July 16, 2009 11:07:00 AM
Rank: Administration
Groups: Administration

Joined: 5/27/2007
Posts: 24,194
Hi Joel,

Yes. I believe the latest public release has this feature. Please let us know if you still have any problems using it.

Thanks!
all_dotNet
Posted: Tuesday, July 21, 2009 1:43:05 PM
Rank: Newbie
Groups: Member

Joined: 7/21/2009
Posts: 6
Is the feature you are confirming, the "eo_scriptmanager" feature with ~/eo_scipt directory script consolidation?
eo_support
Posted: Tuesday, July 21, 2009 1:48:03 PM
Rank: Administration
Groups: Administration

Joined: 5/27/2007
Posts: 24,194
all_dotNet wrote:
Is the feature you are confirming, the "eo_scriptmanager" feature with ~/eo_scipt directory script consolidation?


Yes.
all_dotNet
Posted: Tuesday, July 21, 2009 1:57:58 PM
Rank: Newbie
Groups: Member

Joined: 7/21/2009
Posts: 6
Great, we are using this feature. I seem to have found conflicting posts regarding script consolidation, I found a March post from support that says EO does not support script consolidation into a single script.

However, a post from November 06, 2008 implies that you have a EO build that incorporates script combining into one script. Can you clarify this please.

I am hoping, although it may not the standard performance pattern, to combine all eo scripts into one script file.

Thanks
eo_support
Posted: Tuesday, July 21, 2009 2:02:59 PM
Rank: Administration
Groups: Administration

Joined: 5/27/2007
Posts: 24,194
all_dotNet wrote:
I found a March post from support that says EO does not support script consolidation into a single script.


Can you post a link of that post so that we can see the context of that question?
all_dotNet
Posted: Tuesday, July 21, 2009 2:14:03 PM
Rank: Newbie
Groups: Member

Joined: 7/21/2009
Posts: 6
Hi Ronen,

Thanks for contacting us. We have done many optimizations regarding client side JavaScript. Regarding to your questions:

1. You can not combine the script files to one file. The reason is that we automatically tailor the scripts depends on what you use. For example, if you use Menu but not DatePicker on the page, then only JavaScript files for the Menu control will be rendered, JavaScript files for DatePicker will not be rendered in this case. Obviously, combining JavaScript files for different controls together into one file makes no sense in this case.

Furthermore, we also share some JavaScript modules between different controls. For example, Menu may use JavaScript module A and B, while DatePicker may use JavaScript A and C. Here A contains many common routines used by both controls, but B and C only contain routines used by Menu and DatePicker respectively. With this approach, if you use Menu and DatePicker in the same page, then three modules A, B and C will be rendered. However, if we were to allow you to combine the script files for individual controls, then for a page that uses both Menu and DatePicker, you would have "A + B" for Menu and "B + C" for DatePicker rendered, which causes A to be rendered twice. This means combining different JavaScript files for a single control makes no sense either.

2. All JavaScript files, while can not be combined into a single one, can be hosted as static files. You will need to create a folder on your web server, then change your web.config to specify where EO.Web.dll should put those JavaScript files. At runtime, our DLL will generate static files in that directory and from then on, uses those static files instead of our dynamic module. You can find more information about this at here (scroll down for "Physical script files"):


And possibility of one combined script:

Ronen Chen
Posted: Tuesday, October 28, 2008 6:01:00 AM
Rank: Newbie
Groups: Member

Joined: 10/27/2008
Posts: 3

Hello Support,

Thanks for your reply,
I do understand the plus and minus and appreciate your suggestion very much.

We'll be happy to see a test build with combined scripts.

Best Regards,

Ronen Chen.
chenronen@conduit.com
TL. +972-54-4991027
Back to top

eo_support
Posted: Tuesday, October 28, 2008 6:12:07 AM
Rank: Administration
Groups: Administration

Joined: 5/27/2007
Posts: 6,251

Not a problem. We will add that and let you know once it is ready.
eo_support
Posted: Tuesday, July 21, 2009 2:30:09 PM
Rank: Administration
Groups: Administration

Joined: 5/27/2007
Posts: 24,194
Hi all_dotNet,

I was asking you to post a link to the March post that claims EO does not support this feature.

What you have posted is:

1. Ronen Chen requested this feature on 10/27/2008;
2. We replied that we do not have that feature (at that time);
3. We implemented this feature and relied that we now have this feature on 10/28/2008 (the second day);

As a result, all new builds after that have this feature. I do not see any conflict or ambiguity between these posts.

You might be confusing about when each post was made. The key is that you have to read the "Posted" date of each individual reply, not just the date of the thread. Also the dates are displayed in your local date format. So the date you see and the date we see can be different. But the sequence of the reply should be the same.

Thanks
all_dotNet
Posted: Tuesday, July 21, 2009 3:04:36 PM
Rank: Newbie
Groups: Member

Joined: 7/21/2009
Posts: 6
Thanks for your reply. Without getting any more confused,

I understand and have implemented the eo_scriptmanager feature with eo_script directory.

I would like to have one more question answered:
Do you have an additional feature that will combine all eo scripts into ONE script file?

Thanks.



You cannot post new topics in this forum.
You cannot reply to topics in this forum.
You cannot delete your posts in this forum.
You cannot edit your posts in this forum.
You cannot create polls in this forum.
You cannot vote in polls in this forum.