Drupal Core Summit San Francisco 2010: Reorganizing core's directory structure

One of the annoying things that we had for years with Drupal is that the directory structure could be much cleaner.

A better directory structure helps with a lot of things, such as backups and upgrades.

I proposed issue #22336 to address this issue. Over time, it has developed into the quintessential bikeshed issue, with discussions in that issue trying to do everything at once, and forking the discussion into other areas as well, and we end up accomplishing nothing for almost 5 full years now.

My goal is simple: Only index.php, .htaccess and robots.txt need to be in the DocumentRoot of a site. Everything else that is core goes into its own directory called "core" (or "dries", "axl" or "stan", I am not hung up on a name). We have another directory called "sites" that contains all site specific stuff, whether it is modules, themes, or files.

My proposed presentation is attached below this post as a PDF.

And while we are at it, please check Djun Kim's Drupal's Code Stats proposed talk for the core summit. I too feel that we are becoming more complex, and I am firm believer in simplicity. See my comment on Djun's blog as well.

My email signature for the last few years has been this:

Simplicity is prerequisite for reliability. --  Edsger W.Dijkstra
Simplicity is the ultimate sophistication. --   Leonardo da Vinci

I hope that Djun's talk makes it, even if mine doesn't ...

PDF icon drupalcon-sf2010-core-sprint.pdf358.26 KB




There's an error in the last slide, the path:


Regardless how we change the structure, we still need proper sitenames (all|default|...), and that $confname is missing here between "sites/" and "modules..."


Thank you, I corrected the error.

This will already be addressed as part of my lightning talk...

I proposed a session about having the Drupal core update manager able to update core itself. My proposal was accepted (I hope that's not disclosing a secret, no one said I was supposed to keep that fact to myself). A big part of the problem is that we need to fix the Drupal core directory structure to make it easier to update in place.

See the slides from my proposal for more info...

Feel free to heckle from the audience! ;)

-Derek (dww)

favicon.ico at root too

For older browsers not honoring the <link rel="shortcut icon" > bit in <head>, favicon.ico also needs to be at the root and is a separate problems in its own right for multisites, since it is outside our basic per-site handling and needs to be handled separately in the server config.