Hi All !
Too bad you have given up... I understand you had difficulties solving this... why not look at it from fresh new angle?
These could be my words. Thank you mahjong and thank you all the devs for the great product so far.
A°)Functionality advocation :
IT should reflect human relationship to information : you read 10 articles and post one. you receive 10 emails and send one. you read 10 web pages and you update one. So IT is about writing once and reading ten times. No just about content management, but with transactional systems too : you read/compare ten times before you place an auction.
So, well made content broadcasting system are designed around this. Compare Apache and lighttpd : lighttpd is aggressively cache oriented by design (for example it knows it hasn't to compute the day of week every second, just every 86400 seconds).
And this is why I have been respectfully requesting this feature of serving static content : it is just a detail about broadcasting performance, it is independant of the very dynamic content management.
Advantages :
-Performance : very nice for high traffic sites. very nice on shared hosting.
-Pretty URLs, the same way, with any web server : because you generate the tree that fits your needs.
-Security : the URL of your CMSms installation is very obfuscated (/my/secret/path/to/it). So is the admin console.
-Suitable for more hosting solutions : you consume less PHP and DB, you fit in your mem & cpu quotas.
-Static export feature included for free. (run undefaceable, form CD, backup...)
-CSS and alike are static content.
Drawbacks :
-Sometimes you should clear your cache. (with the admin interface or your FTP client)
-please fill here.
B°)Implementation guesses/bets :
-May be Smarty can do it, so may be modules should be rewritten to become "Smarty caching" aware ?
-If not touching the modules, may be pages/templates could have a "don't cache" flag to simplify ?
-Is it that difficult to change "echo $content_from_smarty" to "write_file($url,$content_from_smarty)" if Smarty tuning is incompatible with modules & co ? Or pipe CURL as previously suggested in this thread ?
-Very Simple Algorythm (to start with) : whenever a single simple tiny change is made, regenerate all URLs. With a job queue to smoothen the load.
Unfortunately if we say 'use at your own risk' it never works out that way. People expect it to work, and expect support, and then complain...
There are odd, ungratefull people. But this shouldn't prevent you from making even better software.
See this thread : you have happy users who like your work and wish this feature.
May be you could solve the "use at your own risk" the pretty URLs way : turn it off by default.
Hope it helps. Have fun hacking and using CMSms !
PM