@sottwell: Thanks, maybe I’ve been hasty in criticizing database storage, but somehow what you say about performance still seems counter-intuitive. I’ve always lived with the assumption that when you care about performance enough to want your files cached in memory, you use a ramdisk or something similar and avoid the overhead involved in a database query and the general hassle of being locked to a single tool to edit the files (MODx) because all the other ones like phpMySql or a MySQL shell are not suitable. This is opposed to FTP which has universal support in real development environments.
You could improve the situation by supporting WebDAV. This would still allow you to act like control freaks and not trust the file-system to do anything, but WebDAV can also be mounted as a file-system allowing developers like me to use a real IDE not a surrogate that doesn’t even allow you to mass search elements.
You don’t need a database for security. The element files shouldn’t even be writable in the production environment anyway. With a database, an SQL injection vulnerability in your PHP code would mean an attacker could usually write to any part of it, even on production. The file-system permissions, on the other hand, don’t rely on your code being secure.
The idea of making includes only while developing makes the whole idea of includes better, but I still don’t like it. Making an include for each and every element and then removing it before sending to production would be too cumbersome and error-prone due to increasing complexity (although @sottwell would probably prefer to blame my lack of focus). Complexity would also increase when dividing the editing process between the IDE and browser environments. It would increase if just by making you always perform one additional step when creating, moving or removing an element to synchronize the include and file name.
P.S.
Quote from: cyclissmo at Sep 08, 2010, 06:00 PMPersonally I would never work on multiple sites from multiple tabs within the same browser window, for the very reason why you find yourself making mistakes.
I specifically mentioned that I keep tabs from different sites in separate windows.