GithubHelp home page GithubHelp logo

jbetolo's People

Contributors

gobezu avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

jbetolo's Issues

relative urls (css, images)

while developing one might use localhost and get merged files as such with relative urls mangled away to have absolute urls
if now the merging was done while calling site from localhost the merged files would fail to serve images when called from the ip number of the machine or some other options

solution: use only relative urls for images or any other linked resource

Conflict between Jbetolo and Jtouch

Hi,

im using the compressing component jbetolo togehter with Jtouch . Jtouch is a component to mobilize your site.

In the jbetolo configuration i set "Exclude Mobile Version" on "Yes".

But still jbetolo is compressing the Jtouch Files (CSS and JS). That causes problems.

I checked the plugin position. The jbetolo System Plugin loads before the Jtouch System JTouch Mobile Controller Plugin, but same result.

Here the link to the mobile Version:

http://www.versandkostenfrei-bestellen24.de/index.php?jtpl=14

How can i skip jbetolo for the Jtouch mobile Version. The problem is, the URL for the mobile and desktop version are the same.

Hope you guys have any ideas.

kind regards

htaccess rewriting css path fix-up issue

after fixing error #12 i noticed another problem arising with css files.
referenced images in a css file cannot be found after htaccess directory rewriting enabled
so if in a css file that gets merged is a image file path of 'templates/mytemplate/images/toolbar.png' the browser assumes the file to be found in /cache/jbetolo/templates/mytemplate/images/toolbar.png' since the pathes are not fixed by jbetolo correctly with htaccess mode is enabled.

Feature: Allow inclusion of JQuery from Google's servers (and/or others)

This might be also a good idea for other libraries.

Interesting read:
http://encosia.com/3-reasons-why-you-should-let-google-host-jquery-for-you/

Especially caching might be a good reason, since the JQuery library then might have already been loaded from a visit to another website that uses the same approach anyway.

Another quite useful javascript plugin for joomla offers this: InterExt - http://extensions.joomla.org/extensions/core-enhancements/performance/scripts-optimization/18499 . But jbetolo and InterExt combined don't always work fine.

Clarify documentation (tooltip)

  1. How the different merge modes function
  2. That jquery no conflict field is not loaded when jquery is loaded from external domain.

cache folder .htaccess creation error

in helper.php in the allowRewrite function the wrong file is being referred to:
the script needs to be changed from
$src = dirname(FILE). '/assets/.htaccess_' . $task;
to
$src = dirname(FILE). '/assets/htaccess_' . $task .'.txt';

auto configure

  1. either through auto conf. or by providing user ability to pull in provide the list of css and js files
    (this auto configuration might apply to other areas too?)

Multiple web processes executing jbetolo compression simultaneously and overloading server.

Hello! When I run a benchmark or activate jbetolo in a high traffic website, and jbetolo was not "compiled" yet, all the active httpd processes invoke jbetolo scripts and the server become very slow.

I think that it's necessary to run jbetolo compression scripts only ONCE, and only by the first request that invoked it. The following requests should detect that it is still being executed and do not invoke it.

Google’s AJAX Libraries API to serve most common Javascript files as jquery and mootools

I would like to suggest a feature that seams to be missing. I would like to be able to use Google’s AJAX Libraries API to serve most common Javascript files as jquery and mootools, and be able to rename them as needed.
Ad example the extention "Google Ajax Library " is able to pull from google's servers the mootool file (I can also specify the version) and most importantly is able to rename it (in my site I needed to be "mootools-core.js").
Example: http://www.fileden.com/files/2006/7/20/138438/Altro/17-05-2013 14-24-20.jpg

Google Ajax Library Extension:
http://extensions.joomla.org/extensions/core-enhancements/performance/content-networking/6981

Exclude/Include Js & Css by page

It would be great to add a feature similar to the Joomla extension "JS CSS Control". Right now I use it along with Jbetolo but it would be a nice feature to include with Jbetolo as it would give more control over the js and css in one place.

JS CSS Control only lets you exclude js/css globally or by page which is great but it would also be better if the same could be done to include files by page or globally.

Problems with mediaqueries

When enabling the plugin all works as it should... but after some time (like after x hours) the responsive behavior changes??

The first image shows the same site refreshed after 2h... works if I clear the joomla cache (second image)..

I use it on www.homeofsweden.se if you want to check it out.
(using the template "afterburner" from rockettheme)

befor cache cleared
cache cleared

Some Changes

Excellent work, love it.

It would be interesting for future versions to add the path to the cache and to change the file name generated in the cache.

on/off for css and js resp.

ability to turn css and js processing resp. on / off instead of doing it for each sub function of each content type

Static js/css files. ( Remove redirects )

As google suggest:

Minimizing HTTP redirects from one URL to another cuts out additional RTTs and wait time for users.

What's google says it's not so important. But true reason is that: For example, static compression from Warp6/Widgetkit and others, is directly to cached files. Whole content of css is inside linked files.

In real world, For example: Google Chrome FLASH white page on during pages switch.
I think the effect is caused by redirections. Files are not serving directly inside CSS or JS files. All it destroy feeling like page is FAST even if page is highly simple and optimized.

When disable jbetolo, left page without any merge and compression. Raw files load at first longer. But when you navigate on site you don't feel it's weight. Because everything is cached and browser don't download them again. So pages can switch without even 1ms of white page feeling.

So BIG ASK is for option caching files without redirects. Without it all jbetolo job are a little bit pointless for me.
On http://jproven.com site you use CDN and this effect does not appear. But we talk about regular site without CDN.

In other words get rid off reflows like:

index.php?option=com_jbetolo&task=serve&cfile=1_970321:34:0

Thank you.

Add option to add async or defer attributes to scripts

When you add scripts to the bottom of the page they get downloaded after the page is rendered, but they still block the parsing and prevent the dom from being ready. Since in my application before I can present the page to the user I need to manipulate the dom, moving the scripts to the bottom make no viewable speed difference. Having the ability to add an async or defer attributes to scripts would solve my problem.

If you can even direct me to jbe code that is responsible for adding scripts, that would be helpful, so that I can try making the change myself.

Make placement of external resources independent of merge

The Placement of inline JavaScript works regardless of whether I choose to merge JS or not.

However, the Placement of external JavaScript files only works when I choose to merge JS.

Is it possible to configure the plugin to have the external JS files at the bottom of the page without merging or renaming them? I can achieve this by changing your source code only. If it is not yet possible by any configuration workaround, it would be great if this was a future improvement.

php notice when accessing site from another than default URL

when i access a site with jbetelo from another url than the default one, the following message is shown
Notice: Undefined index: attr in XYZ/plugins/system/jbetolo/jbetolo/helper.php(721) : runtime-created function on line 1

let's assume my site runs joomla on www.example.com .
when accessing the site via http://www.example.com everything is fine. When i put http://example.com (without www) in the browser, jbetolo shows this notice
have tested this both from a local test machine and a live server.

my config (local test machine) taken from mysql
{"allow_in":"site","htaccess":"1","html_minify":"0","dont_stat":"0","predefined_settings":"-1","css_merge_mode":"resource","css_merge":"1","css_merge_exclude":"","css_include":"","css_minify":"1","css_minify_excluded":"1","css_gzip":"1","css_gzip_excluded":"0","css_custom_order":"template.css","css_compress_resources":"eot,ttf,svg,otf","css_datauri_allow_in":"administrator","css_datauri":"png,jpg","css_datauri_files":"","css_datauri_max":"25000","js_merge_mode":"mono","js_merge":"1","js_merge_exclude":"/warp/js/searchr.js","js_include":"","js_minify":"0","js_minify_excluded":"0","js_gzip":"0","js_gzip_excluded":"0","js_custom_order":"","js_external_custom_order_before":"","js_external_custom_order_after":"","js_jquery_no_conflict":"1","js_jquery":"jquery-1.7.2.min.js","js_placement":"4","js_move_inline":"4","js_inline_dont_move":"","add_local_jquery":"1","skip_dynamic":"1","gzip_exclude":"","minify_exclude":"","delete":"/markitup/jquery.pack.js,media/widgetkit/js/jquery.js,styleswitcher.js,/media/k2/assets/js/jquery-1.7.1.min.js","exclude_components":"","exclude_urls":"","cdn_enabled":"0","cdn_type":"pullown","cdn_domain":"cdn.domain.com","cdn_compress":"0","cdn_own_folder":"cdn","cdn_domain_images":"","cdn_types_images":"png,jpg,gif","cdn_domain_movies":"","cdn_types_movies":"flv,mov,avi","cdn_domain_docs":"","cdn_types_docs":"doc,docx,xls,rtf,pdf,txt","cdn_domain_css":"","cdn_types_css":"1","cdn_domain_js":"","cdn_types_js":"1","cdn_merged":"1","cdn_types_exclude":"","cdn_exclude_components":"","lazyload_img":"0","lazyload_exclude":"","cache_age":"5184000","listen_request":"0","debug_mode":"1","debug_mode_filename":"0","profile":"none","files":null}

Allow exclusion for script placement

As per title, it would be nice to have a way to move scripts in the selected area, and have a list of excluded files to either leave them where they are or move them to another section.
I have problems leaving modernizr.js where it is right at the end of the <head>, it's getting always moved at the bottom along with other scripts. Is it possible to implement this feature or I'm blatantly missing something? Thank you!

Fix cache state

Once cache has been rendered for the page fix the cache from there and on and until cache is emptied or cache expiration time is reached. This can be very useful for sites we know are relatively static.

Disable mootols and mootools-more

Hello
I'm looking for a plugi that disable mootols and mootools-more in a Joomla 3 with Gantry based template. Does it your plugin?

Regards

Examples

Hey, can you show any example of URL exclude with regular expression?

Add option to move the CSS at the bottom

Currently there is a very nice option to move all the JS at the bottom and blocking the rendering because of it.
If you can simply make this option available for the css as well, it will be great.

leave certain inline js in place

such inline js that shouldn't be moved are those that directly manipulate there DOM in place and therefore there position affects there outcome, google ad...

please add support for multiple main cdn domains

as you know most browsers allow up to 6 concurrent requests per domain. right now you provide a way for user to specify main cdn, and an image cdn. and this is good, but in a typical joomla site, after jbetolo has finished running, there will be only one js, only one css, and about forty images. So the main cdn will take only two requests and the image cdn will take 40 requests. This is not efficient, 40 requests to one domain with only 6 allowed at a time is going to slow the site down. to take full advantage of multiple cdn domains the plugin needs to achieve a better balance.

so my proposed solution is: add "main cdn domain 2", "main cdn domain 3", "main cdn domain 4" params to the plugin. If they are filled out (and for simplicity lets assume there is no image domain provided) then the plugin will spread everything among main domains evenly, regardless of the type of the resource. so in the case above with 40 images, if user specified 2 cdns you would want 20 requests going to first and 20 going to second, if user specified 4 domains than it would be about 10 requests per domain. Next question is how can you ensure even distribution. One way to go about this is to determine the cdn to be used for each url based on the hash code code of the url - i.e. $cdn = $cdns[getHashCode($url) % count($cdns)]. this is called domain sharding, please read more here http://developer.yahoo.com/performance/rules.html#split . I am not sure if providing a way for user to provide different cdn for image is of much value, maybe you have use cases in mind, I leave that up to you.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.