Closed (fixed)
Project:
Boost
Version:
6.x-1.x-dev
Component:
Code
Priority:
Normal
Category:
Task
Assigned:
Unassigned
Reporter:
Created:
27 Oct 2008 at 03:05 UTC
Updated:
27 Sep 2009 at 20:30 UTC
Given that Ian and myself (and possibly others) are going to be putting some coding time into this project, we should align our purposes.
Briefly, my goals are:
I'm also very much interested in doing a charm offensive, as I think the architecture of Boost makes it an invaluable tool in any professional Drupal toolkit. In the spirit of poormanscron, it is the poor-man's Squid (or maybe the poor-man's varnish?) :)
Let's use this thread to try and publicly hash out a roadmap, eh?
Comments
Comment #1
mikeytown2 commentedThese are the requirements I see for a stable 6.x-1.0 release: (Top - Most Important; Bottom - Least Important)
#337435: Non unicode in URL changes to ___.html
#364327: boost_file_path generates file names that are never processed by htaccess
#204832: Cached pages are created but not served
#276495: Update for Rewrite Rules - Give Boost even bigger performance gain
#141954: Gzipping of static html files (*.html.gz)
#374067: Pages expires long before their lifetime
#326683: Increasing cache lifetime beyond presets
#178914: Prevent the cache from getting wiped when site goes off-line
#443736: Smarter boost_cache_expire(). Path Changes & Wildcard Support
#385924: Don't cache pages when there are PHP/MySQL errors
#478144: files purged from cache way before min cache lifetime, ignoring disabled purging
#480182: subdir installs and boost_is_cacheable()
#453426: Merge Cache Static into boost - Create GUI for database operations
#477848: Difficulties w/ Boost 6.x1.0-alpha4 - Multi-site, Folder Permissions - _boost_rmdir_rf()
#337391: Setting to grab url's from url_alias table.
#368366: Boost Block - Button: Flush Page's Cache
#446370: cache directory not set to default on initial install - throw notice on status page if this happens
Things that would be nice if they made it into the stable 6.x-1.0 release:
#428942: AHAH update textarea for .htaccess rules on performance >> boost page.
#101147: support subdirectory Drupal installations
#182686: Static Feed Caching
#363077: Add spider to crawler - Cache entire site with new install.
#453908: Hook for panel node types - expiration of static cache; panel containing multiple nodes
#204174: Work with page cache, not instead of it
#410730: System limits: Number of files in a single directory
#331537: Dynamic cache expiration without boost_cron
#413908: Cache js/css files, allow for a "static" site
#422620: Support Drupal's built in statistics module.
#503628: AJAX Load stats
#505766: Does this support the Who's online block?
#506906: Support node read count display
Did I miss anything?
Comment #2
patataur commented@ mikey and joshk
That's a nice roadmap.
To help you in the way i'd suggest to rank each of those additionnal options/requirements with difficulty to sort them out, usefulness for boost (how much better would it make boost) and usefulness for boost users (how many need this additionnal feature and how badly do they need it).
This may help in focusing on the most essential features first to include in the next stable release.
Comment #3
mikeytown2 commentedMost of the issues in the first group have patches that need to be reviewed; thus difficulty is not that bad. I Reordered lists so it is by priority/usefulness for boost.
Comment #4
mikeytown2 commentedBy the end of the week I plan on releasing the next dev which will contain the majority of the above patches... Big issue has to do with the new .htaccess rules and letting people know they need to update their old rules. Any ideas on how to get the word out about new boost rewrite rules?
Comment #5
patataur commented@ Mickey
Congrats for the soon to be released new dev.
About the update rules, how about a check box in the performance page asking : "have you added the following lines to your htaccess to make this module work?" Yes and No. Unless people click yes it will ask them to update the htaccess.
If they click yes but have not updated then what more can we do for them?
Comment #6
xn2001 commentedMay I add: Regenerate page only if there are changes.
Comment #7
mikeytown2 commented@xn2001
That would be a full implementation of this #413908: Cache js/css files, allow for a "static" site. It would allow for your request, although things like views that aggregate the content wouldn't get updated until they where cleared. So it can lead to some seriously stale content; because one forgets about all the pages that link to the page that changed.
Comment #8
mikeytown2 commentedList of patches queued for beta 1
#478144: files purged from cache way before min cache lifetime, ignoring disabled purging - Rewrote _boost_rmdir_rf()
#443736: Smarter boost_cache_expire(). Path Changes & Wildcard Support
#478644: Cache file path shouldn't be stored in the DB by default
#326683: Increasing cache lifetime beyond presets
#428942: AHAH update textarea for .htaccess rules on performance >> boost page. - #32, #33
Including all changes made in the latest dev
#178914: Prevent the cache from getting wiped when site goes off-line
#385924: Don't cache pages when there are PHP/MySQL errors
#446370: cache directory not set to default on initial install - throw notice on status page if this happens
#185075: Only apply "do not cache" headers to files inside the the cache folder. - Partial implementation of this.
#276495: Update for Rewrite Rules - Give Boost even bigger performance gain
#475410: Update Danish translation
#413908: Cache js/css files, allow for a "static" site - Boost no longer nukes the static cache on cron.
#478306: front page not cached
Theres a lot here!
Comment #9
mikeytown2 commentedGoing to sit on this for a little while, but here are the changes that went in since beta 1. Next release will be called beta 2. The one after that should be called RC1.
#481654: Invalid argument for foreach on boost.module line 513
#223610: Race condition in cache file creation
#480182: subdir installs and boost_is_cacheable()
#477848: Difficulties w/ Boost 6.x1.0-alpha4 - Multi-site, Folder Permissions - _boost_rmdir_rf() - Better multi-site support, smarter cache expire, new error check on status page.
#182686: Static Feed Caching - Also Fixed a bug with url aliases & subdir installs
#428942: AHAH update textarea for .htaccess rules on performance >> boost page. - Performance page generates multiple rule sets
#204174: Work with page cache, not instead of it
#453426: Merge Cache Static into boost - Create GUI for database operations - Boost now controls cache expiration by 2 database tables
#493842: Option to not cache pages with url variables in them.
#368366: Boost Block - Button: Flush Page's Cache
#495038: Cannot enable the module (Module stays Disabled)
#493764: 600 File Permissions
#413908: Cache js/css files, allow for a "static" site
#422620: Support Drupal's built in statistics module.
Documentation in the code should be more complete for RC1.
Comment #10
mikeytown2 commentedNext steps:
Fix new bugs/issues
#513924: Cache not expired if edit managed directly from content list
#513860: Wrong redirect after user registration.
#509942: clear cache on comment approval
#518288: Array issues
#519354: boost_cache_write() overwriting cached gzip files
#459956: Flush front page when node is edited/created with promote to front page selected.
#525494: boost_stats.php undefined index on line 77
#512314: premature cache flush when cron run via poormanscron 1.0; latest poormanscron dev fixes issue.
#530572: PHP Notice: Undefined index: HTTP_USER_AGENT on line 85
#482000: %{DOCUMENT_ROOT} not set correctly on Mosso hosting.
#530772: Work with Pressflow drupal
#531100: Add verbose setting for watchdog messages
#537186: Better prevention of URL collisions.
Fully support stats
#503628: AJAX Load stats
#506906: Support node read count display
#505766: Does this support the Who's online block?
Cache More
#512298: Cache JSON AJAX Objects
#514156: disable clean url's for all logged in users; allow for browser to cache pages.
Improve DB
#453426: Merge Cache Static into boost - Create GUI for database operations - Add in ID/Speed column, fix multi-site issue, add settings to boost block.
#538418: Add url field to DB
...RC1 is around here...
Smarter Cache Expiration
#453908: Hook for panel node types - expiration of static cache; panel containing multiple nodes - Focus on terms.
Internal Crawler
#337391: Setting to grab url's from url_alias table.
#538460: Auto Regenerate Cache (pre-caching) Preemptive Cron Cache - throttle & crawl rate stats
UI
#507412: Usability: "Reset boost database" button is unclear
#428942: AHAH update textarea for .htaccess rules on performance >> boost page.
Comment #11
mikeytown2 commentedNext round - In queue for RC3. Due to be out in early September.
Support Other Web Servers
#150909: Lighttpd rewrite rules wanted
#244072: Nginx integration
Bug Fixes
#543734: Error with mysqli_real_escape_string when adding content
#544002: Clear cache button on admin page has wrong count
#544476: Stop Crawler button shows incorrect values
#544636: boost_requirements() check gz dir as well
#543840: Remove entries from boost_cache table if page returns 404 or 403
#535932: Combine Readme & Install text. Make note of boost_stats.php
#545922: Boost node_load & CCK cache issues
#546704: *Spell Check*
#550198: Allow block to be displayed on edit page
#549126: db_query_range() should be db_query() on line 1471
#559480: Crawler & Do not cache if error on page variable cache db atomic issues
#543250: CSS aggregation + gzip compression
#512314: premature cache flush when cron run via poormanscron 1.0; latest poormanscron dev fixes issue.
#560284: Document ':' doesn't work on windows. If windows check for bad characters in boost_is_cacheable() function
#563408: flush all caches before releasing RC3
#563380: all normal, crawler starts, then access denied
#563814: work with parallel
#564042: Generate requirements error when language negotiation set to "language fallback"
New Feature
#543310: Split boost block into 2 blocks
#528506: Better Detect GZIP Compression
#543280: serve CSS and JS to logged in users
#337391: Setting to grab url's from url_alias table.
#541658: Bypass cron expiration & load to be expired urls into crawler
#537186: Better prevention of URL collisions.
#539580: boost_stats.php - Use Request Headers to determine return type
#546732: Detect site-wide changes
#337756: Rewrite boost_is_cacheable() to use core API functions.
#546850: Next round of .htaccess changes. Getting these "perfect" is the goal.
#547944: Reorganize performance/boost page
#337756: Rewrite boost_is_cacheable() to use core API functions.
#559408: Add verbose setting for crawler watchdog messages
#559396: Boost crawler - Live info: Display ETA
#560892: Better way to spin up threads on demand.
#561992: Reseed boost_crawler table at end. Make sure we got all URL's.
#563412: move most of path checking from boost_file_path() to boost_is_cacheable()
RC4
Bug Fixes:
#564914: New Install, crawler key missing
#564990: divide by zero error if looking at performance/boost page right after crawler starts
#565640: Cache only the listed pages not working
Comment #12
mikeytown2 commentedNext set of updates - RC5:
Support Other Web Servers - If these get RTBC then they will go into the htaccess generation fieldset.
#150909: Lighttpd rewrite rules wanted
#244072: Nginx integration
Bug Fixes:
#543250: CSS aggregation + gzip compression
#566106: boost_has_site_changed() function not working.
#567748: Thread is dead logic timing out - Edited error msg
#567690: typo in htacceess rules
#566984: Crawler not working as expected
#571126: Update README.txt to notice 'subdirectory installation issue'
New Features:
#363077: Add spider to crawler - Cache entire site with new install. - Integrate the spider.
#560892: Better way to spin up threads on demand. - Will make the spider way better.
#541658: Bypass cron expiration & load to be expired urls into crawler - Instead of flushing, just re-crawl expired content, overwriting the cached file.
#453908: Hook for panel node types - expiration of static cache; panel containing multiple nodes - Need some ideas on how to do this.
#565796: Better Explanation of Settings
#566808: clean up boost_cache_css_js_files() and other functions like it
#567808: Write update function to change .js to .json
#567650: Expire nodes based on CCK Node Reference
Comment #13
mikeytown2 commentedNext set of updates - 1.0 ???
Bug Fixes:
#572108: Hosting Issue: ini_restore() has been disabled for security reasons, boost.module on line 2520 (PHP <= 5.1.6 bug)
#572348: css/js files not being copied if drupal not in subdir
#572536: allow_url_fopen is disabled; use mod of drupal_http_request()
#575260: If cron fails, crawler sleep for 10 seconds for a very long time...
#575250: hook_boost_preprocess Isn't Invoked Correctly
#571126: Update README.txt to notice 'subdirectory installation issue'
#575466: Port crawler code to stats
New Features:
Boost 1.1
Bug Fixes:
#575386: Table boost_cache fields size restrict the length of possible URLs
New Features:
#575080: Retroactive CSS/JS cache
#567650: Expire nodes based on CCK Node Reference
#363077: Add spider to crawler - Cache entire site with new install. - Integrate the spider
#453908: Hook for panel node types - expiration of static cache; panel containing multiple nodes
#541658: Bypass cron expiration & load to be expired urls into crawler - Instead of flushing, just re-crawl expired content, overwriting the cached file.
Comment #14
mikeytown2 commented1.0 Released today; track boost progress in this thread #575840: 6.x Roadmap
Comment #15
mikeytown2 commentedJust for kicks, I decided to see what functions where left the same from alpha1; here are the results.
Only 4!
Comment #16
dbeall commented!! 1.0 Celebration !!
It has been a long tedious road, just look at the cvs..
@mikeytown2, you have been in pursuit for many endless hours...
Congratulations