[CLOSED] [#364] CDN Subjects/Comments/Questions.

Page 1 of 5 123 ... LastLast
  1. #1

    [CLOSED] [#364] CDN Subjects/Comments/Questions.

    Why isn't CDN turned off automatically by resource manager when Request.IsSecureConnection? I have to do this myself.

    Feature request maybe?
    Last edited by Daniil; Dec 03, 2013 at 12:51 PM. Reason: [CLOSED]
  2. #2
    While I'm at the topic of features related to cdn? Is it possible to only cdn from the extjs js and resources? and not the Ext.Net js and resources? The reason I ask is I have to stay on the ext.net trunk for the latest fixes which includes extjs overrides.

    I am assuming also there's probably no way to cdn from ext.net also and only post updates since the last build. ;)
  3. #3
    Also, a speed test tool has reported that the cdn (speed.ext.net) does not gzip it's content. Is that something that can be addressed? I realize the CDNs will bring content faster to the user based on high bandwidth and localized availability, but it would even be faster if compressed.
  4. #4
    I have found also that the ux js on the cdn is not minified even with min mode set.
  5. #5

    While I'm here, you might appreciate this option...

    In ResourceManager_Globals.cs - I will understand if you opt not to consider adding this shortcut, but it works with low footprint...
    using System.Diagnostics;
    using System.Reflection;
    
    
    #if ISPRO
    
    
            /// <summary>
            /// 
            /// </summary>
            internal static string CDNPath
            {
                get
                {
                    if( string.IsNullOrEmpty( CDNPlusVer ) ) {
                        var ver = FileVersionInfo.GetVersionInfo( Assembly.GetExecutingAssembly().Location );
                        CDNPlusVer = string.Format("http://speed.ext.net/ext.net/{0}.{1}.{2}", ver.ProductMajorPart, ver.ProductMinorPart, ver.ProductBuildPart );
                    }
                    return CDNPlusVer;
                }
            }
            private static string CDNPlusVer = null;
    #endif
    Last edited by Daniil; Jun 20, 2013 at 1:09 PM. Reason: Please use [CODE] tags
  6. #6
    Hi @michaeld,

    1. SSL CDN

    Yes, currently, CDN doesn't support SSL to request the resources with "https".

    So, you need to turn CDN off to avoid a security warning because of requesting the resources with insecure "http", is that correct?

    2. Getting ExtJS resources from CDN, but not Ext.NET

    Generally, it is not correct to organize the things such a way. Ext.NET scripts tightly depends on ExtJS scripts. They must be the same version.

    3. GZip

    Thank you for the report. Seems the main ExtJS script comes not gzipped from CDN. All the rest resources seems to be gzipped. We are investigating.

    4. UX not minified

    Yes, we have no minified versions for UXs. We have some thoughts and plans on this, but no concrete time frames at the moment. But anyway, it won't provide much benefit since the UX resources are very small.

    5. CDNPath

    Thank you for the suggestion. We will consider.
    Last edited by Daniil; Jun 20, 2013 at 1:30 PM.
  7. #7
    Quote Originally Posted by Daniil View Post
    4. UX not minified

    Yes, we have no minified versions for UXs. We have some thoughts and plans on this, but no concrete time frames at the moment. But anyway, it won't provide much benefit since the UX resources are very small.
    Created an Issue:
    https://github.com/extnet/Ext.NET/issues/279

    Quote Originally Posted by Daniil View Post
    5. CDNPath

    Thank you for the suggestion. We will consider.
    A nice suggestion. Added to SVN trunk. Thank you again.
  8. #8
    Quote Originally Posted by Daniil View Post
    Hi @michaeld,

    1. SSL CDN

    Yes, currently, CDN doesn't support SSL to request the resources with "https".
    Presently I have to do the following:
    			rm.RenderScripts = Request.IsSecureConnection ? ResourceLocationType.File : ResourceLocationType.CDN;
    			rm.RenderStyles = Request.IsSecureConnection ? ResourceLocationType.File : ResourceLocationType.CDN;
    It just makes sense to me that this logic should be moved inside of the ResourceManager rendering. A check for IsSecureConnection, and if so, override back to default. Anyway, it's just a thought since this can cause an issue for clients who have secure pages since your cdn doesn't support secure. It's actually kind of frustrating this is the case because https already causes otherwise cached pages to be slow because the different port causes a full load (thus slowing this page more than the rest of the website).

    Quote Originally Posted by Daniil View Post
    So, you need to turn CDN off to avoid a security warning because of requesting the resources with insecure "http", is that correct?
    Effectively, yes. It's a shame this is the case since there is nothing insecure about the contents.

    Quote Originally Posted by Daniil View Post
    2. Getting ExtJS resources from CDN, but not Ext.NET
    Generally, it is not correct to organize the things such a way. Ext.NET scripts tightly depends on ExtJS scripts. They must be the same version.
    If we keep this feature request very basic, this comes down to breaking out /extjs which includes 2 files [js & css] from /extnet/ which includes 2-3 files depending on resource manager config. The extjs js file is the largest component of the entire application.

    We understand that extjs resources version separately from extnet, and extnet is always based on a specific version of extjs. So nothing about your statement changes. You're still tightly bound to an extjs version because the trunk code is bound to a specific version of extjs on the cdn until you decide to upload something new on the cdn or reversion the trunk.

    The most important aspect about this cdn feature request is it makes your clients able to offload downloading the largest file from your application from the cdn if they need a latest fix only available from the trunk. I may actually be inclined enough to code this myself since my site has limited bandwidth and resources at launch.



    Quote Originally Posted by Daniil View Post
    3. GZip
    Thank you for the report. Seems the main ExtJS script comes not gzipped from CDN. All the rest resources seems to be gzipped. We are investigating.
    To me this is kind of a big deal because extjs-all is huge. It makes no sense to use the CDN if theoretically you can bounce a smaller file to your client's browser as fast at the same speed as the CDN can at full-size. ;)

    Quote Originally Posted by Daniil View Post
    4. UX not minified
    Created an Issue:
    https://github.com/extnet/Ext.NET/issues/279
    Cool
    Quote Originally Posted by Daniil View Post
    5. CDNPath
    A nice suggestion. Added to SVN trunk. Thank you again.
    If you consider my feature request in 2, this would still work..
  9. #9
    Quote Originally Posted by michaeld View Post
    Presently I have to do the following:
                rm.RenderScripts = Request.IsSecureConnection ? ResourceLocationType.File : ResourceLocationType.CDN;
                rm.RenderStyles = Request.IsSecureConnection ? ResourceLocationType.File : ResourceLocationType.CDN;
    It just makes sense to me that this logic should be moved inside of the ResourceManager rendering. A check for IsSecureConnection, and if so, override back to default. Anyway, it's just a thought since this can cause an issue for clients who have secure pages since your cdn doesn't support secure. It's actually kind of frustrating this is the case because https already causes otherwise cached pages to be slow because the different port causes a full load (thus slowing this page more than the rest of the website).
    We are going to switch to Embedded resources if "CDN && IsSecureConnection" as the most common option. Do you mind?


    Quote Originally Posted by michaeld View Post
    If we keep this feature request very basic, this comes down to breaking out /extjs which includes 2 files [js & css] from /extnet/ which includes 2-3 files depending on resource manager config. The extjs js file is the largest component of the entire application.

    We understand that extjs resources version separately from extnet, and extnet is always based on a specific version of extjs. So nothing about your statement changes. You're still tightly bound to an extjs version because the trunk code is bound to a specific version of extjs on the cdn until you decide to upload something new on the cdn or reversion the trunk.

    The most important aspect about this cdn feature request is it makes your clients able to offload downloading the largest file from your application from the cdn if they need a latest fix only available from the trunk. I may actually be inclined enough to code this myself since my site has limited bandwidth and resources at launch.
    Well, we are uploading the resources to CDN on releases only. Sorry, probably, I misunderstand something, but do you still want to load Ext.NET resources from the SVN trunk (sure, beforehand downloaded from there) and load ExtJS resources from CDN?

    Quote Originally Posted by michaeld View Post
    To me this is kind of a big deal because extjs-all is huge. It makes no sense to use the CDN if theoretically you can bounce a smaller file to your client's browser as fast at the same speed as the CDN can at full-size. ;)
    Sure, fair enough. It should be fixed.
  10. #10
    Quote Originally Posted by Daniil View Post
    We are going to switch to Embedded resources if "CDN && IsSecureConnection" as the most common option. Do you mind?
    Hmmm. Embedded would not be the ideal but you mean only embedded for the resources? and the javascript would be file?

    Quote Originally Posted by Daniil View Post
    Well, we are uploading the resources to CDN on releases only. Sorry, probably, I misunderstand something, but do you still want to load Ext.NET resources from the SVN trunk (sure, beforehand downloaded from there) and load ExtJS resources from CDN?
    Yes.

    I understand that CDN resources are release ONLY. The trunk drifts from release only for extnet js and resources. Typically the trunk stays on the same extjs version.

    However, I did check and notice that sometimes the trunk advances to the next extjs release version (which would not correspond to a release version posted to your cdn). In this case, we'd be out of luck. So maybe that's where we are disconnecting and why you don't see the value. Like for instance, I think the trunk is using extjs 4.2.1 now and /extjs/extjs-all-js on cdn is 4.2.

    So yeah, your point is there's no advantage here.

    So maybe the simplest solution I can suggest is create another property for the ResourceManager.UseSenchaCDN = true that loads extjs appropriate cdn as listed from here http://senchaexamples.com/sencha-cdn/ instead of from your cdn. The correct path would have to be hardcoded each time you guys advance versions in the trunk.

    Then we're back to my perfect world where extnet customers can publish trunk extnet code to our production environments and still benefit from at least partial cdn. More importantly, sencha does cdn https so you could hard code to handle this case too. ;) I realize this is a lot of permutations but still a best of all worlds type of request.

    Thanks for discussing.
    Last edited by michaeld; Jun 21, 2013 at 8:40 PM.
Page 1 of 5 123 ... LastLast

Tags for this Thread

Posting Permissions