Ideally, it would be possible to make the servlet container read-only, storing the repository and template files (and any other writable files) outside the app directory. This would allow for "instant upgrades" by just dropping in a new WAR file. Today, I think, Magnolia really violates the principles of a WAR file, which is that it should be self-contained and not writable.
I attempted to remove all writable/changable files and directories to outside the directory, and then marked the app directory read-only to diagnose problem areas. In Tomcat, it is possible to configure the magnolia.properties file location outside the app directory (and by changing that version of magnolia.properties, you can move the repository directory) out of the servlet container. However, you cannot relocate template files outside the app. In addition, the installation process makes changes to the contents of the app directory; kind of annoying.
Would be used by many, I suspect.