Quick Nav:  Online Store   |   Login | Register

Version 3.0 Beta Test FeedBack

Rate this topic:

Please Register to post a reply. Another benefit of registration is the ability to subscribe to and recieve notifications of new posts.
AuthorMessages
DavidWSnow
<250Posts
Posts:162


02/16/2008 10:06 AM  

I just concatinated the 4 icons that I had on my home page into a single image to reduce there size. No Problem. But when I was done editing I examined the page closely I noticed a pull-down at the bottom right corner of the page that I had not noticed before.

I turned off PB for that page and refreshed twice.  It was still there.

I turned off PB in web.config and refreshed twice.  It was gone.

I turned on PB in web.config and refreshed twice.  It was still gone.

This seems very strange.  At first I assumed that I had a bad copy in cache from all the messing arround done yesterday. However, the post-back from editing should have recreated the cache before I examined the page.  Do the ^-shift-refreshes in Firefox aslo rebuild the cache for that page?

/DaveS

lodani dani
<50 Posts
Posts:45


02/16/2008 11:01 AM  

Hello,

I had more problems with SimpleGallery from Ventrian and PB3. This module displays pictures using the lightbox effect which uses JQuery.  With PB3 lightbox stops working and  Firebug begins to report a lot of Javascript errors in the page.

I had to exclude all the pages that uses this module with this global exclusion and everything went fine again.

pattern="AlbumID" excludeFrom="MergeJS"

I don't know exactly why it fails but this are some clues:

This module injects this in he page, at the very beggining:

(...)

script type="text/javascript" src='/DesktopModules/SimpleGallery/js/lightbox/jquery.js'
script type="text/javascript" src='/DesktopModules/SimpleGallery/js/lightbox/jquery.lightbox-0.4.pack.js'

(...)

and later on the page it injects some inline code that uses the references JS:

script type="text/javascript"
jQuery(function() {
    jQuery('a[@rel*=lightbox459]').lightBox({
        imageLoading: '/DesktopModules/SimpleGallery/images/lightbox/lightbox-ico-loading.gif',
        (...)
        keyToClose: 'c',
        keyToPrev: 'p',
        keyToNext: 'n'
    });
});
/script

and this is a link to a page using the module just in case you want to have a look to its internals:

http://www.ventrian.com/Products/Modules/SimpleGallery/Demo/tabid/288/AlbumID/692-46/Default.aspx

 

John Mitchell
Posts:2780


02/16/2008 12:31 PM  

Dani,
I see that the .ashx typo is still haunting after a year.  I hope that some day it will be eradicated.
I'll install the simple gallery module and see if I can find out what is happening, but my guess is that it is the same problem as with the solpart menu.
I move all scripts from the head section down to the bottom of the page which makes the page load faster, but any script that is referenced in the middle of the page can't handle the move.  If you were to move that inline code to the bottom of the page (after the merged JS link) then it would probably work.  I'm going to be trying that with the spmenu.js and the spMenu_Init call.

The easiest/quickest way to fix it is to exclude it like you did, but with a little more work it can probably be optimized. I think the only time you can't wait till the end of the page to do the Javascript is when there is a document.write in it .

Dave,

Yes, Shift+Refresh works in FireFox the same as Ctrl+Refresh in IE.  If you are using FireFox with YSlow then you can watch the time it takes for the page to be built to see how long it is taking to build a fresh page with all of the rules.  I was pleasantly surprised to find that my home page with all the replacement rules is still being built in less than 6 seconds which also includes remerging the CSS & JS, recompressing, etc.  Also look at the last-modified header which should change on the PageBlaster merged files.

X-Snapsis-PageBlaster resonse header
If you have the config file trace level set to "Header" or anything other than "None" you can look at the response header of each component to see how PageBlaster handled the request.  When looking at the X-Snapsis-PageBlaster header you will see the version, and then some variables to show how it was Cached (c); Compressed (x); and Replaced (r).
A minus sign indicates that it was excluded, or a plus sign means that it performed that operation. For caching it will also append some other letters to indicate why it was not cached. c:-PNC means it was a POST and the request also had a no-cache directive in either the "Pragma" or the "Cache-Control" request header.

John Mitchell
Posts:2780


02/16/2008 12:45 PM  

Attached is an updated version of the global config file and a new DLL. 

The config file I posted before had the .ashx typo as Dani pointed out, and it also had a problem with the way the rules for moving the JS was defined. Inside the searchFor part there is CDATA blocks to make it compliant XML, and I also included carriage returns to format around those so that people could see the actual searchFor string easier. The problem with this is any formatting like that also becomes part of the rule, so it was making it not work sometimes. This file has everything on one line, so if you copy and paste these rules then remember that you do not need the CDATA part.

The new DLL also explicitly flushes the write buffer before closing the files so it should take care of the intermittent errors that was causing the CSS or JS not to be merged.

Thanks again to everyone who is helping me debug and test.  


Attachment: 121645196371.zip
Attachment: 121645199454.zip

lodani dani
<50 Posts
Posts:45


02/16/2008 1:41 PM  

John

With the new dll you just posted (3.0.6) I still see the "The process cannot access the file..." in the logs and therefore the css are not merged sometimes...

could the cause of this be that every time that PB merges the CSS creates a file with the same name? can this be a problem in a heavy load site?

dani

 

lodani dani
<50 Posts
Posts:45


02/16/2008 3:22 PM  

John,

I began to have some random javascript errors: "WebForm_DoPostBackWithOptions is not defined".  Then I cannot save the settings in the Host Settings tab, for instance.

When PB is enabled I can see 404 (not founds) in Firebug. This is the url that's not found:

http://dnn480/WebResource.axd?d=bvq-uc9mG-oBLynHVy8-7g2&t=633301170862500000


The problem stops as soon I add this exclusion in the config:

path pattern="WebResource.axd" excludeFrom="All" /

 

A very intesting thing is that when the exclusion is enabled and everything is working fine I can see the requests to WebResource.axd in the trace file which saying that has been excluded.

But when the exclusion is not enabled then I cannot see a single reference to WebResource.axd in the trace file. Maybe is related to the 404 erros and PB is not receiving the request...

any clue?

dani

DavidWSnow
<250Posts
Posts:162


02/16/2008 3:27 PM  

I was looking the the code of my page and found what I think is an error

< link id="Snapsis_PageBlaster_MergedCSS" rel="stylesheet" type="text/css" href="/DesktopModules/Snapsis/PageBlaster/Cache/CSS/8f2d15314505b7361e52daee62ca9ee3.axd" >
    < /link >

Link is an empty tag and doesn't have the < /link >  but rather ends with / >

Extra spaces added to keep Active Forum happy.  I did't catch it earlier because my "Delete crap" page rule happens to delete the extra tag.

DaveS

John Mitchell
Posts:2780


02/16/2008 3:38 PM  

dani,

Is your website actually at http://dnn480 or should it be a virtual path?

The reason that you don't see the exclusions when it is a 404 is because PageBlaster hands that request off to it's static file handler. If the StaticFileHandler can't retrieve the page then it will send back the 404.  It's using a WebRequest back ito itself to retrieve the page and make a static file out of it, but maybe it is having some of the same problems with File Access exceptions.

I'll take a closer look at that process to see if I can tighten it up.

 

John Mitchell
Posts:2780


02/16/2008 3:41 PM  

Dave,

I started to make that an empty tag but i had an error in W3C validation when using trasitional I think.  I'll have to go back and verify, but I thought that would pass all validations.  Although my XHTML rules may have been taking care of it also.

lodani dani
<50 Posts
Posts:45


02/16/2008 5:29 PM  

John,

I'm having the webresource.axd problem with the test site installed on my machine with th path http://dnn480 (it's a host entry pointing to 127.0.0.1) and it also happens with my site in production wich it's running under a normal domain name

 

 

 

 

DavidWSnow
<250Posts
Posts:162


02/16/2008 5:46 PM  

Still working my score up and reducing bytes downloaded. However still at "D 63". I wonder how many of Yahoo's pages rank as A's or B's?  Maybe they were allowed to get away with D's in school   ReEdit: I just checked, Yahoo's HomePage gets an A 92, their Groups page a C 71, and Shopping gets a C 75.  I guess when you add the script for "Content Delevery Network" we too will move up a notch or two .

One the bright side DotNetNuke's site gets a F 57 and that is where you started out from.

According to YSlow the only non-Etaged files are

  • listX's js file (which I have moved to the Head via a PB rule)
  • 8 gif, jpg & png files are are on the page or are gradients

I suspect that you may not be dealing with this JS file is how it is called:

< script src="/DesktopModules/ListX/xListing.js?v=198" type="text/javascript" >< /script >
Extra spaces added for Active Forum
 
/DaveS

 

lodani dani
<50 Posts
Posts:45


02/16/2008 6:28 PM  

John,

Look what I found attached at the end of the webresource 404 response:

does it help?

< html >
    < head >
        < title >The resource cannot be found.

        (.....)

    < /body >
< /html >

 

< !--
[HttpException]: File not found.
   at Snapsis.HttpModules.PageBlaster.StaticFileHandler.ProcessRequest(HttpContext context)
   at Snapsis.HttpModules.PageBlaster.PageBlasterModule.BeginRequest(Object sender, EventArgs e)
   at System.Web.HttpApplication.SyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
   at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)
-- >

< !-- This error page might contain sensitive information because ASP.NET is configured to show verbose error messages using &lt;customErrors mode="Off"/&gt;. Consider using &lt;customErrors mode="On"/&gt; or &lt;customErrors mode="RemoteOnly"/&gt; in production environments.-- >

green flash
<50 Posts
Posts:44


02/17/2008 3:11 PM  
Hi John, can we also use search and replace rules to HTML Tidy?

For example in my page source i have

< link id="_Portals__default_" rel="stylesheet" type="text/css" href="/Portals/_default/default.css" / >

i want to replace _Portals with Portals, so i will no longer get warning for this entry.

Can you assist me?
Thanks.

DotNetNuke Türkçe
DavidWSnow
<250Posts
Posts:162


02/17/2008 10:55 PM  

John,

I just ran YSlow on a bunch of sites, including yours. When do we get the dll that gives us an A like Yslow show on your home page?

I went back to my site and I have been working on the home page whicg gets a D. It has 5 modules on it which I fihured out represtes more CSS, JS etc. So I figured that a page with just a HTML module should have a higher score.

What are you doing to get an A for expires headers and an A for gzip?

Hope that you took some time off this weekend,

/DaveS

caroig
<50 Posts
Posts:31


02/18/2008 6:09 AM  

John,

I've just read through this thread and V3.0 looks as though it will delivery some excellent features. 

One question, will css files imported using import url, be megerd if css merge is configured?

John Mitchell
Posts:2780


02/18/2008 9:08 AM  

Hi Everyone,

Sorry for the delay in responding.  I wasn't slacking off I promise.

I spent the whole day yesterday and the afternoon after my last post working on a default installation of DNN 4.8.
I thought it was going to be easy since I had things working so well on my site. I was sorely mistaken about that though. 

Since I was using my own menu I did not have a lot of the JS that happens in the DNN navigation, I already figured the spmenu.js file might be a little work, but what I forgot was that DNN 4.8 now uses the new and "improved" DNNMenu. Well that new menu still uses javascript and a lot more of it.
I won't bore you with all the details, but DNN also puts duplicate script tags in the page when you are logged in (authenticated) because of the Action menu also using the new DNN Menu. On the default home page with just a few modules it also creates an JS init call for every action menu, and the amount of information that is stored in the __dnnVariable hidden field is scarry. Ok, I guess I am going into detail there so I will stop now.

The good news is that I have added a nice new feature called repeating rules.  I still need to add the repeatTimes element to the UI, but it works in the config and allows a rule to run repeatedly for the number of times you specify or until there is no more matches (whichever comes first).  This allows us to create a generic rule that looks for a link or an init script and move them around without having to define multiple rules.

The default install of DNN 4.8 has a YSlow score below 50, I couldn't believe that so I went to DNN's home page and saw the same thing Dave did. They have some client-side caching configured on their server, but they are still getting an F.

After installing PageBlaster with my initial rules I thought that would shoot up, but it didn't go far. Now that I have added a few repeating and conditional rules to the global config file I am proud to say that a default DNN install can go from an F (48)  to a B (84) immediately after the install.

I'm going to attach the new DLL and a new config to this post for you to try out, but I will also be packaging it up and sending the full install to everyone on the Beta list shortly.

I have also changed the way that the merged files are saved to disk so that they all end up in their own page folder in the cache. This causes a little more work on the server, but it allows for each page to have it's own merged files so that they can be updated seperately.  I think this may have been the reason for intermittent file sharing exceptions on those files.  The drawback is that I will need to add a way so that all of these files get invalidated (deleted) if you update a Javascript or CSS file.  For now the best thing to do is delete the entire cache before you start with this new version.

 


Attachment: 12188454171.zip

John Mitchell
Posts:2780


02/18/2008 9:21 AM  

caroig asks:
One question, will css files imported using import url, be megerd if css merge is configured?

answer:
The CSS imports should still work the same way before and after the merge, so I think the answer is yes, but I haven't tried it yet.
I guess i need to look closer at that because that directive can have a relative link which will be wrong since the merged file will be in a different folder.


I have mostly seen that directive used for Hacks on different browsers so you may be pleased to find out that merging of CSS also allows Replacment Rules to be ran on them.  This means you can create conditional rules that use the browser type and then use the LoadFile method of PageBlaster to pull in different style rules.

 

DavidWSnow
<250Posts
Posts:162


02/18/2008 9:38 AM  

Your new files are a big step backwards for my site.  The new dll works, but the new config file breaks my site and gives me blank pages. I had to roll my online system back to yesterday's configuration. 

I'll set my localhost up with today's files and see if I can figure out which rule is breaking it.  On my localhost system my skin.css isn't being read, and after deleteing the cache I come up with the default DNN skin and can't even log in.

/DaveS

lodani dani
<50 Posts
Posts:45


02/18/2008 12:10 PM  

Hi John,

Thank you for the new release! the new enhacements on replacements are cool! 

This is my feedback about the 3.0.7.

I published online a site just to test PB3.0.7 and another one to test PB3.0.6

1) PB3.0.7 crashes my pages that contains a RadTreeView. You can see it live here:

Crashed version With PB3.0.7 (RadTreeView is not defined)
http://pageblaster.escolamusicalagarriga.cat/Not%C3%ADcies/tabid/196/Default.aspx

Same page working fine With PB3.0.6
http://proves.escolamusicalagarriga.cat/Not%C3%ADcies/tabid/196/Default.aspx


2) With 3.0.7 I'm still having the 404 on WebResource.axd like with the previous version.
And I do not why but IIS takes 21 seconds!!!! to return the 404

3) With 3.0.7 I'm still having lots of errors with the JQuery stuff injected by SimpleGallery (jQuery is not defined)
With Firebug enabled I can see at least 4 errors here: http://pageblaster.escolamusicalagarriga.cat/Default.aspx

4) The locked file problem is certainly less frequent, but it's still there (10 or 15 Ctrl+F5 are enough to throw it):

PageFilter.MergeCSS: Error writing merged CSS File :x:\xxxxx\DnnHosted006_emm_pageblaster\DesktopModules\Snapsis\PageBlaster\Cache\\\575139426296171868abb6e7e089fc27.css.axd
The process cannot access the file 'x:\xxxxxxxxx\DnnHosted006_emm_pageblaster\DesktopModules\Snapsis\PageBlaster\Cache\575139426296171868abb6e7e089fc27.css.axd' because it is being used by another process.
   at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)...

PB:PageFilter.MergeJS: Error writing merged JS File :x:\xxxxx\\DnnHosted006_emm_pageblaster\DesktopModules\Snapsis\PageBlaster\Cache\\\18e33e073040f687e41b3123ff35397f.js.axd
The process cannot access the file 'x:\xxxxxxxxx\DnnHosted006_emm_pageblaster\DesktopModules\Snapsis\PageBlaster\Cache\18e33e073040f687e41b3123ff35397f.js.axd' because it is being used by another process.
   at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
   at System.IO.FileStream.Init(String path, FileMode mode, FileAccess access, Int32 rights, Boolean useRights, FileShare share, Int32 b...

thank you!

dani

DavidWSnow
<250Posts
Posts:162


02/18/2008 12:52 PM  

I have isolated my problems with the new module and config file. During the editing of one of my rules into the PB config file I directed Visual Web Developer to format the file in order to make the line formating look good.  This is a REALLY BAD IDEA because now that you have multi-line rules it appears to have an impact on the content of the rules.

I have my localhost clone working ok, but don't dare update my online system until tonight.  Who nows maybe by then your'll have another update.

This new set lowers my YSlow score from 63 to 60. What do I have to do get an A like you have?

/DaveS

 

Please Register to post a reply. Another benefit of registration is the ability to subscribe to and recieve notifications of new posts.
Forums >Snapsis Product Support >PageBlaster > Version 3.0 Beta Test FeedBack



ActiveForums 3.7
Powered by: Snapsis Software